API-niet-standaarddiagnose-id's (.NET 6)
Sommige API's zijn gemarkeerd als verouderd, te beginnen in .NET 6. Deze belangrijke wijziging is specifiek voor API's die zijn gemarkeerd als verouderd met een aangepaste diagnostische id. Het onderdrukken van de standaard diagnostische id voor obsoletion, die CS0618 is voor de C#-compiler, onderdrukt niet de waarschuwingen die de compiler genereert wanneer deze API's worden gebruikt.
Wijzigingsbeschrijving
In eerdere .NET-versies kunnen deze API's zonder buildwaarschuwing worden gebruikt. In .NET 6 en latere versies produceert het gebruik van deze API's een compileertijdwaarschuwing of -fout met een aangepaste diagnostische id. Met het gebruik van aangepaste diagnostische id's kunt u de verdoeiingswaarschuwingen afzonderlijk onderdrukken in plaats van alle verdoezelingswaarschuwingen.
De volgende tabel bevat de aangepaste diagnostische id's en de bijbehorende waarschuwingsberichten voor verouderde API's.
Diagnostische id | Beschrijving | Ernst |
---|---|---|
SYSLIB0013 | Uri.EscapeUriString(String) kan de URI-tekenreeks in sommige gevallen beschadigen. Overweeg in plaats daarvan queryreeksonderdelen te gebruiken Uri.EscapeDataString(String) . | Waarschuwing |
SYSLIB0014 | WebRequest, , HttpWebRequestServicePointen WebClient zijn verouderd. Gebruik in plaats daarvan HttpClient. | Waarschuwing |
SYSLIB0015 | DisablePrivateReflectionAttribute heeft geen effect in .NET 6+. | Waarschuwing |
SYSLIB0016 | Gebruik de Graphics.GetContextInfo overbelastingen die argumenten accepteren voor betere prestaties en minder toewijzingen. | Waarschuwing |
SYSLIB0017 | Ondertekening met sterke naam wordt niet ondersteund en genereert PlatformNotSupportedException. | Waarschuwing |
SYSLIB0018 | Laden met alleen weerspiegeling wordt niet ondersteund en werpt PlatformNotSupportedException. | Waarschuwing |
SYSLIB0019 | De System.Runtime.InteropServices.RuntimeEnvironment leden SystemConfigurationFile, GetRuntimeInterfaceAsIntPtr(Guid, Guid)en GetRuntimeInterfaceAsObject(Guid, Guid) worden niet meer ondersteund en gooien PlatformNotSupportedException. | Waarschuwing |
SYSLIB0020 | JsonSerializerOptions.IgnoreNullValues is verouderd. Als u null-waarden wilt negeren bij het serialiseren, stelt u deze in DefaultIgnoreCondition op JsonIgnoreCondition.WhenWritingNull. | Waarschuwing |
SYSLIB0021 | Afgeleide cryptografische typen zijn verouderd. Gebruik in plaats daarvan de Create methode op het basistype. |
Waarschuwing |
SYSLIB0022 | De Rijndael en RijndaelManaged typen zijn verouderd. Gebruik in plaats daarvan Aes. | Waarschuwing |
SYSLIB0023 | RNGCryptoServiceProvider is verouderd. Als u een willekeurig getal wilt genereren, gebruikt u in plaats daarvan een van de RandomNumberGenerator statische methoden. | Waarschuwing |
SYSLIB0024 | Het maken en lossen van AppDomains wordt niet ondersteund en genereert een uitzondering. | Waarschuwing |
SYSLIB0025 | SuppressIldasmAttribute heeft geen effect in .NET 6+. | Waarschuwing |
SYSLIB0026 | X509Certificate en X509Certificate2 onveranderbaar zijn. Gebruik de juiste constructor om een nieuw certificaat te maken. | Waarschuwing |
SYSLIB0027 | PublicKey.Key is verouderd. Gebruik de juiste methode om de openbare sleutel op te halen, zoals GetRSAPublicKey(). | Waarschuwing |
SYSLIB0028 | X509Certificate2.PrivateKey is verouderd. Gebruik de juiste methode om de persoonlijke sleutel op te halen, zoals RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2)of gebruik de X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) methode om een nieuw exemplaar met een persoonlijke sleutel te maken. | Waarschuwing |
SYSLIB0029 | ProduceLegacyHmacValues is verouderd. Het produceren van verouderde HMAC-waarden wordt niet meer ondersteund. |
Waarschuwing |
SYSLIB0030 | HMACSHA1 maakt altijd gebruik van de algoritme-implementatie die door het platform wordt geleverd. Gebruik een constructor zonder de useManagedSha1 parameter. |
Waarschuwing |
SYSLIB0031 | CryptoConfig.EncodeOID(String) is verouderd. Gebruik de asn.1-functionaliteit die beschikbaar is in System.Formats.Asn1. | Waarschuwing |
SYSLIB0032 | Herstel van beschadigde processtatusuitzondering wordt niet ondersteund; HandleProcessCorruptedStateExceptionsAttribute wordt genegeerd. | Waarschuwing |
SYSLIB0033 | Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) is verouderd en wordt niet ondersteund. Gebruik in plaats daarvan PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]). | Waarschuwing |
SYSLIB0034 | CmsSigner(CspParameters) is verouderd. Gebruik in plaats daarvan een alternatieve constructor. | Waarschuwing |
SYSLIB0035 | SignerInfo.ComputeCounterSignature() is verouderd. Gebruik de overbelasting die een CmsSigner in plaats daarvan accepteert. | Waarschuwing |
Versie geïntroduceerd
.NET 6
Aanbevolen actie
Volg de specifieke richtlijnen voor elke diagnostische id met behulp van de URL-koppeling in de waarschuwing.
Waarschuwingen of fouten voor deze verdoezelingen kunnen niet worden onderdrukt met behulp van de standaarddiagnose-id voor verouderde typen of leden; gebruik in plaats daarvan de aangepaste diagnostische
SYSLIBxxxx
id-waarde.
Betrokken API's
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