Dela via


API-obsoletioner med diagnostik-ID:n som inte är standard (.NET 6)

Vissa API:er har markerats som föråldrade, med början i .NET 6. Den här icke-bakåtkompatibla ändringen är specifik för API:er som har markerats som föråldrade med ett anpassat diagnostik-ID. Om du utelämnar standarddiagnostik-ID för obsoletion, som är CS0618 för C#-kompilatorn, undertrycks inte de varningar som kompilatorn genererar när dessa API:er används.

Ändra beskrivning

I tidigare .NET-versioner kan dessa API:er användas utan någon byggvarning. I .NET 6 och senare versioner ger användningen av dessa API:er en kompileringstidsvarning eller ett fel med ett anpassat diagnostik-ID. Med anpassade diagnostik-ID:n kan du ignorera obsoletionsvarningarna individuellt i stället för att dölja alla obsoletionsvarningar.

I följande tabell visas anpassade diagnostik-ID:n och deras motsvarande varningsmeddelanden för föråldrade API:er.

Diagnostik-ID beskrivning Allvarlighetsgrad
SYSLIB0013 Uri.EscapeUriString(String) kan skada URI-strängen i vissa fall. Överväg att använda Uri.EscapeDataString(String) för frågesträngskomponenter i stället. Varning
SYSLIB0014 WebRequest, HttpWebRequest, ServicePointoch WebClient är föråldrade. Använd HttpClient i stället. Varning
SYSLIB0015 DisablePrivateReflectionAttribute har ingen effekt i .NET 6+. Varning
SYSLIB0016 Använd de Graphics.GetContextInfo överlagringar som accepterar argument för bättre prestanda och färre allokeringar. Varning
SYSLIB0017 Stark namnsignering stöds inte och genererar PlatformNotSupportedException. Varning
SYSLIB0018 Endast reflektionsinläsning stöds inte och genererar PlatformNotSupportedException. Varning
SYSLIB0019 Medlemmarna System.Runtime.InteropServices.RuntimeEnvironment SystemConfigurationFile, GetRuntimeInterfaceAsIntPtr(Guid, Guid)och GetRuntimeInterfaceAsObject(Guid, Guid) stöds inte längre och genererar PlatformNotSupportedException. Varning
SYSLIB0020 JsonSerializerOptions.IgnoreNullValues är föråldrad. Om du vill ignorera null-värden vid serialisering anger du DefaultIgnoreCondition till JsonIgnoreCondition.WhenWritingNull. Varning
SYSLIB0021 Härledda kryptografiska typer är föråldrade. Create Använd metoden på bastypen i stället. Varning
SYSLIB0022 Typerna Rijndael och RijndaelManaged är föråldrade. Använd Aes i stället. Varning
SYSLIB0023 RNGCryptoServiceProvider är föråldrad. Om du vill generera ett slumpmässigt tal använder du en av de RandomNumberGenerator statiska metoderna i stället. Varning
SYSLIB0024 Det går inte att skapa och ta bort AppDomains och genererar ett undantag. Varning
SYSLIB0025 SuppressIldasmAttribute har ingen effekt i .NET 6+. Varning
SYSLIB0026 X509Certificate och X509Certificate2 är oföränderliga. Använd lämplig konstruktor för att skapa ett nytt certifikat. Varning
SYSLIB0027 PublicKey.Key är föråldrad. Använd lämplig metod för att hämta den offentliga nyckeln, till exempel GetRSAPublicKey(). Varning
SYSLIB0028 X509Certificate2.PrivateKey är föråldrad. Använd lämplig metod för att hämta den privata nyckeln, till exempel RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2), eller använd X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) metoden för att skapa en ny instans med en privat nyckel. Varning
SYSLIB0029 ProduceLegacyHmacValues är föråldrad. Det går inte längre att skapa äldre HMAC-värden. Varning
SYSLIB0030 HMACSHA1 använder alltid den algoritmimplementering som tillhandahålls av plattformen. Använd en konstruktor utan parametern useManagedSha1 . Varning
SYSLIB0031 CryptoConfig.EncodeOID(String) är föråldrad. Använd ASN.1-funktionerna i System.Formats.Asn1. Varning
SYSLIB0032 Återställning från skadade processtillståndsfel stöds inte. HandleProcessCorruptedStateExceptionsAttribute ignoreras. Varning
SYSLIB0033 Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) är föråldrad och stöds inte. Använd PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) i stället. Varning
SYSLIB0034 CmsSigner(CspParameters) är föråldrad. Använd en alternativ konstruktor i stället. Varning
SYSLIB0035 SignerInfo.ComputeCounterSignature() är föråldrad. Använd den överlagring som accepterar en CmsSigner i stället. Varning

Version introducerad

.NET 6

  • Följ den specifika vägledning som ges för varje diagnostik-ID med hjälp av URL-länken som anges i varningen.

  • Varningar eller fel för dessa obsoletioner kan inte ignoreras med hjälp av standarddiagnostik-ID:t för föråldrade typer eller medlemmar. använd det anpassade SYSLIBxxxx diagnostik-ID-värdet i stället.

Berörda API:er

SYSLIB0013

SYSLIB0014

SYSLIB0015

SYSLIB0016

SYSLIB0017

SYSLIB0018

SYSLIB0019

SYSLIB0020

SYSLIB0021

SYSLIB0022

SYSLIB0023

SYSLIB0024

SYSLIB0025

SYSLIB0026

SYSLIB0027

SYSLIB0028

SYSLIB0029

SYSLIB0030

SYSLIB0031

SYSLIB0032

SYSLIB0033

SYSLIB0034

SYSLIB0035

Se även