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
Rekommenderad åtgärd
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
- 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