SYSLIB0021: Abgeleitete kryptografische Typen sind veraltet
Die folgenden abgeleiteten kryptografischen Typen sind ab .NET 6 als veraltet markiert. Ihre Verwendung im Code ruft zur Kompilierzeit die Warnung SYSLIB0021
hervor.
- 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
Problemumgehungen
Verwenden Sie stattdessen die Create
-Methode für den Basistyp. Verwenden Sie z. B. TripleDES.Create statt TripleDESCryptoServiceProvider.
Unterdrücken einer Warnung
Wenn Sie die veralteten APIs verwenden müssen, können Sie die Warnung im Code oder in Ihrer Projektdatei unterdrücken.
Um nur einen einzelnen Verstoß zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Warnung zu deaktivieren und dann wieder zu aktivieren.
// Disable the warning.
#pragma warning disable SYSLIB0021
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0021
Um alle SYSLIB0021
-Warnungen in Ihrem Projekt zu unterdrücken, fügen Sie ihrer Projektdatei eine <NoWarn>
-Eigenschaft hinzu.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0021</NoWarn>
</PropertyGroup>
</Project>
Weitere Informationen finden Sie unter Unterdrücken von Warnungen.