Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Einige APIs sind ab .NET 6 als veraltet gekennzeichnet. Dieser Breaking Change ist spezifisch für APIs, die mit einer benutzerdefinierten Diagnose-ID als veraltet markiert wurden. Das Unterdrücken der Standardveraltungsdiagnose-ID (CS0618 für den C#-Compiler) unterdrückt nicht die Warnungen, die der Compiler generiert, wenn diese APIs verwendet werden.
Änderungsbeschreibung
In früheren .NET-Versionen können diese APIs ohne eine Buildwarnung verwendet werden. In .NET 6 und höheren Versionen erzeugt die Verwendung dieser APIs zur Kompilierzeit eine Warnung oder einen Fehler mit einer benutzerdefinierten Diagnose-ID. Durch die Verwendung benutzerdefinierter Diagnose-IDs können Sie die veralteten Warnungen einzeln anstatt alle zusammen unterdrücken.
In der folgenden Tabelle werden die benutzerdefinierten Diagnose-IDs und die zugehörigen Warnmeldungen für veraltete APIs aufgelistet.
| Diagnose-ID | BESCHREIBUNG | severity |
|---|---|---|
| SYSLIB0013 | Uri.EscapeUriString(String) kann die URI-Zeichenfolge in einigen Fällen beschädigt werden. Erwägen Sie stattdessen die Verwendung von Uri.EscapeDataString(String) für Komponenten von Abfragezeichenfolgen. | Warnung |
| SYSLIB0014 | WebRequest, HttpWebRequest, ServicePoint und WebClient sind veraltet. Verwenden Sie stattdessen HttpClient. | Warnung |
| SYSLIB0015 | DisablePrivateReflectionAttribute hat in .NET 6+ keine Auswirkungen. | Warnung |
| SYSLIB0016 | Verwenden Sie die Graphics.GetContextInfo-Überladungen, die auch Argumente akzeptieren, um eine bessere Leistung bei weniger Zuordnungen zu erzielen. | Warnung |
| SYSLIB0017 | Die Signierung mit starkem Namen wird nicht unterstützt und löst PlatformNotSupportedException aus. | Warnung |
| SYSLIB0018 | Das auf Reflexion beschränkte Laden wird nicht unterstützt und löst PlatformNotSupportedException aus. | Warnung |
| SYSLIB0019 | Die Member System.Runtime.InteropServices.RuntimeEnvironment, SystemConfigurationFile und GetRuntimeInterfaceAsIntPtr(Guid, Guid) von GetRuntimeInterfaceAsObject(Guid, Guid) werden nicht mehr unterstützt und lösen eine PlatformNotSupportedException aus. | Warnung |
| SYSLIB0020 | JsonSerializerOptions.IgnoreNullValues ist veraltet. Um NULL-Werte beim Serialisieren zu ignorieren, legen Sie DefaultIgnoreCondition auf JsonIgnoreCondition.WhenWritingNull fest. | Warnung |
| SYSLIB0021 | Abgeleitete kryptografische Typen sind veraltet. Verwenden Sie stattdessen die Create-Methode für den Basistyp. |
Warnung |
| SYSLIB0022 | Die Typen Rijndael und RijndaelManaged sind veraltet. Verwenden Sie stattdessen Aes. | Warnung |
| SYSLIB0023 | RNGCryptoServiceProvider ist veraltet. Um eine Zufallszahl zu generieren, verwenden Sie stattdessen eine der statischen RandomNumberGenerator-Methoden. | Warnung |
| SYSLIB0024 | Das Erstellen und Entladen von AppDomains wird nicht unterstützt und löst eine Ausnahme aus. | Warnung |
| SYSLIB0025 | SuppressIldasmAttribute hat in .NET 6+ keine Auswirkungen. | Warnung |
| SYSLIB0026 | X509Certificate und X509Certificate2 sind unveränderlich. Verwenden Sie den entsprechenden Konstruktor, um ein neues Zertifikat zu erstellen. | Warnung |
| SYSLIB0027 | PublicKey.Key ist veraltet. Verwenden Sie eine geeignete Methode, um den öffentlichen Schlüssel abzurufen, z. B. GetRSAPublicKey(). | Warnung |
| SYSLIB0028 | X509Certificate2.PrivateKey ist veraltet. Verwenden Sie eine geeignete Methode, um den öffentlichen Schlüssel abzurufen, z. B. RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2), oder verwenden Sie die Methode X509Certificate2.CopyWithPrivateKey(ECDiffieHellman), um eine neue Instanz mit einem privaten Schlüssel zu erstellen. | Warnung |
| SYSLIB0029 |
ProduceLegacyHmacValues ist veraltet. Das Generieren von HMAC-Legacywerten wird nicht mehr unterstützt. |
Warnung |
| SYSLIB0030 |
HMACSHA1 verwendet immer die Algorithmusimplementierung, die von der Plattform bereitgestellt wird. Verwenden Sie einen Konstruktor ohne den Parameter useManagedSha1. |
Warnung |
| SYSLIB0031 | CryptoConfig.EncodeOID(String) ist veraltet. Verwenden Sie die in System.Formats.Asn1 bereitgestellte ASN.1-Funktionalität. | Warnung |
| SYSLIB0032 | Die Wiederherstellung nach beschädigten Prozessstatus-Ausnahmen wird nicht unterstützt; HandleProcessCorruptedStateExceptionsAttribute wird ignoriert. | Warnung |
| SYSLIB0033 | Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) ist veraltet und wird nicht unterstützt. Verwenden Sie stattdessen PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]). | Warnung |
| SYSLIB0034 | CmsSigner(CspParameters) ist veraltet. Verwenden Sie stattdessen einen alternativen Konstruktor. | Warnung |
| SYSLIB0035 | SignerInfo.ComputeCounterSignature() ist veraltet. Verwenden Sie stattdessen die Überladung, die ein CmsSigner akzeptiert. | Warnung |
Eingeführt in Version
.NET 6
Empfohlene Maßnahme
Befolgen Sie die Anweisungen für die einzelnen Diagnose-IDs, indem Sie den URL-Link verwenden, der in der Warnung bereitgestellt wird.
Warnungen oder Fehler für diese veralteten Elemente können nicht mithilfe der Standarddiagnose-ID für veraltete Typen oder Member unterdrückt werden. Verwenden Sie stattdessen den benutzerdefinierten Diagnose-ID-Wert im Format
SYSLIBxxxx.
Betroffene APIs
SYSLIB0013
SYSLIB0014
SYSLIB0015
SYSLIB0016
SYSLIB0017
SYSLIB0018
- System.Reflection.Assembly.ReflectionOnlyLoad
- System.Reflection.Assembly.ReflectionOnlyLoadFrom(String)
- System.Type.ReflectionOnlyGetType(String, Boolean, Boolean)
SYSLIB0019
- System.Runtime.InteropServices.RuntimeEnvironment.SystemConfigurationFile
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsIntPtr(Guid, Guid)
- System.Runtime.InteropServices.RuntimeEnvironment.GetRuntimeInterfaceAsObject(Guid, Guid)
SYSLIB0020
SYSLIB0021
- System.Security.Cryptography.AesCryptoServiceProvider
- System.Security.Cryptography.AesManaged
- System.Security.Cryptography.DESCryptoServiceProvider
- System.Security.Cryptography.MD5CryptoServiceProvider
- System.Security.Cryptography.RC2CryptoServiceProvider
- System.Security.Cryptography.SHA1CryptoServiceProvider
- System.Security.Cryptography.SHA1Managed
- System.Security.Cryptography.SHA256Managed
- System.Security.Cryptography.SHA256CryptoServiceProvider
- System.Security.Cryptography.SHA384Managed
- System.Security.Cryptography.SHA384CryptoServiceProvider
- System.Security.Cryptography.SHA512Managed
- System.Security.Cryptography.SHA512CryptoServiceProvider
- System.Security.Cryptography.TripleDESCryptoServiceProvider