Delen via


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

  • 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

SYSLIB0019

SYSLIB0020

SYSLIB0021

SYSLIB0022

SYSLIB0023

SYSLIB0024

SYSLIB0025

SYSLIB0026

SYSLIB0027

SYSLIB0028

SYSLIB0029

SYSLIB0030

SYSLIB0031

SYSLIB0032

SYSLIB0033

SYSLIB0034

SYSLIB0035

Zie ook