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 wurden ab .NET 7 als veraltet markiert. Dieser Breaking Change ist spezifisch für APIs, die mit einer benutzerdefinierten Diagnose-ID als veraltet markiert wurden. Das Unterdrücken der Standard-Obsoletionsdiagnose-ID (in diesem Fall 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 7 und höheren Versionen erzeugt die Verwendung dieser APIs eine Kompilierungszeitwarnung oder einen Fehler mit einer benutzerdefinierten Diagnose-ID. Die Verwendung benutzerdefinierter Diagnose-IDs ermöglicht es Ihnen, die Veraltungswarnungen individuell zu unterdrücken, anstatt sie alle pauschal zu deaktivieren.
In der folgenden Tabelle werden die benutzerdefinierten Diagnose-IDs und die zugehörigen Warnmeldungen für veraltete APIs aufgelistet.
| Diagnose-ID | BESCHREIBUNG | Schweregrad |
|---|---|---|
| SYSLIB0036 |
Regex.CompileToAssembly ist veraltet und wird nicht unterstützt. Verwenden Sie stattdessen RegexGeneratorAttribute mit dem Quellen-Generator für reguläre Ausdrücke. |
Warnung |
| SYSLIB0037 | AssemblyNameMitgliederHashAlgorithm, ProcessorArchitecture und VersionCompatibility sind veraltet und werden nicht unterstützt. | Warnung |
| SYSLIB0038 | SerializationFormat.Binary ist veraltet und sollte nicht verwendet werden. | Warnung |
| SYSLIB0039 | Die TLS-Versionen 1.0 und 1.1 weisen bekannte Sicherheitsrisiken auf und werden nicht empfohlen. Verwenden Sie stattdessen eine neuere TLS-Version, oder verwenden Sie SslProtocols.None, um die Standardeinstellungen des Betriebssystems zu verschieben. | Warnung |
| SYSLIB0040 | EncryptionPolicy.NoEncryption und EncryptionPolicy.AllowNoEncryption reduzieren die Sicherheit erheblich und sollten nicht im Produktionscode verwendet werden. | Warnung |
| SYSLIB0041 | Standardhashalgorithmus und Iterationsanzahl in Rfc2898DeriveBytes-Konstruktoren sind veraltet und unsicher. Verwenden Sie einen Konstruktor, der den Hashalgorithmus und die Anzahl der Iterationen akzeptiert. | Warnung |
| SYSLIB0042 |
ToXmlString und FromXmlString bieten keine Implementierung für ECC-Typen (Elliptic Curve Cryptography, Kryptografie für elliptische Kurve) und sind veraltet. Verwenden Sie ein standardmäßiges Import- und Exportformat wie ExportSubjectPublicKeyInfo oder ImportSubjectPublicKeyInfo für öffentliche Schlüssel und ExportPkcs8PrivateKey oder ImportPkcs8PrivateKey für private Schlüssel. |
Warnung |
| SYSLIB0043 | ECDiffieHellmanPublicKey.ToByteArray() und der zugeordnete Konstruktor verfügen nicht über eine konsistente und interoperable Implementierung auf allen Plattformen. Verwenden Sie stattdessen ECDiffieHellmanPublicKey.ExportSubjectPublicKeyInfo(). | Warnung |
| SYSLIB0044 | AssemblyName.CodeBase und AssemblyName.EscapedCodeBase sind veraltet. | Warnung |
| SYSLIB0045 | Kryptografische Factory-Methoden, die einen Algorithmusnamen akzeptieren, sind veraltet. Verwenden Sie stattdessen die parameterlose Factorymethode Create für den Algorithmustyp. |
Warnung |
| SYSLIB0047 |
XmlSecureResolver ist veraltet. Verwenden Sie stattdessen XmlResolver.ThrowingResolver, um die Auflösung externer XML-Ressourcen zu verbieten. |
Warnung |
Eingeführte Version
.NET 7
Art der einschneidenden Änderung
Diese veralteten APIs können sich auf die Quellkompatibilität auswirken.
Empfohlene Aktion
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
SYSLIB0036
SYSLIB0037
SYSLIB0038
SYSLIB0039
SYSLIB0040
- System.Net.Security.EncryptionPolicy.AllowNoEncryption
- System.Net.Security.EncryptionPolicy.NoEncryption
SYSLIB0041
- Rfc2898DeriveBytes(String, Byte[])
- Rfc2898DeriveBytes(String, Int32)
- Rfc2898DeriveBytes(Byte[], Byte[], Int32)
- Rfc2898DeriveBytes(String, Byte[], Int32)
- Rfc2898DeriveBytes(String, Int32, Int32)
SYSLIB0042
- System.Security.Cryptography.ECDiffieHellmanCng.FromXmlString(String, ECKeyXmlFormat)
- System.Security.Cryptography.ECDiffieHellmanCng.ToXmlString(ECKeyXmlFormat)
- System.Security.Cryptography.ECDiffieHellmanCngPublicKey.FromXmlString(String)
- System.Security.Cryptography.ECDiffieHellmanCngPublicKey.ToXmlString()
- System.Security.Cryptography.ECDiffieHellmanPublicKey.ToXmlString()
- System.Security.Cryptography.ECDsaCng.FromXmlString(String, ECKeyXmlFormat)
- System.Security.Cryptography.ECDsaCng.ToXmlString(ECKeyXmlFormat)
SYSLIB0043
- System.Security.Cryptography.ECDiffieHellmanPublicKey.ToByteArray()
- ECDiffieHellmanPublicKey(Byte[])
SYSLIB0045
- System.Security.Cryptography.Aes.Create(String)
- System.Security.Cryptography.AsymmetricAlgorithm.Create(String)
- System.Security.Cryptography.DES.Create(String)
- System.Security.Cryptography.ECDiffieHellman.Create(String)
- System.Security.Cryptography.ECDsa.Create(String)
- System.Security.Cryptography.HashAlgorithm.Create(String)
- System.Security.Cryptography.KeyedHashAlgorithm.Create(String)
- System.Security.Cryptography.RandomNumberGenerator.Create(String)
- System.Security.Cryptography.RC2.Create(String)
- System.Security.Cryptography.Rijndael.Create(String)
- System.Security.Cryptography.RSA.Create(String)
- System.Security.Cryptography.SHA1.Create(String)
- System.Security.Cryptography.SHA256.Create(String)
- System.Security.Cryptography.SHA384.Create(String)
- System.Security.Cryptography.SHA512.Create(String)
- System.Security.Cryptography.SymmetricAlgorithm.Create(String)
- System.Security.Cryptography.TripleDES.Create(String)