API obsolete con ID di diagnostica non predefiniti (.NET 6)
Alcune API sono state contrassegnate come obsolete, a partire da .NET 6. Questa modifica che causa un'interruzione è specifica per le API contrassegnate come obsolete con un ID di diagnostica personalizzato. L'eliminazione dell'ID di diagnostica di obsolescenza predefinito, ovvero CS0618 per il compilatore C#, non elimina gli avvisi generati dal compilatore quando vengono usate queste API.
Descrizione delle modifiche
Nelle versioni precedenti di .NET queste API possono essere usate senza avvisi di compilazione. In .NET 6 e versioni successive l'uso di queste API genera un avviso o un errore in fase di compilazione con un ID di diagnostica personalizzato. L'uso di ID di diagnostica personalizzati consente di eliminare singolarmente gli avvisi di obsolescenza anziché eliminare tutti gli avvisi di obsolescenza.
La tabella seguente elenca gli ID di diagnostica personalizzati e i relativi messaggi di avviso corrispondenti per le API obsolete.
ID di diagnostica | Descrizione | Gravità |
---|---|---|
SYSLIB0013 | Uri.EscapeUriString(String) può danneggiare la stringa URI in alcuni casi. È consigliabile usare invece Uri.EscapeDataString(String) per i componenti della stringa di query. | Avviso |
SYSLIB0014 | WebRequest, HttpWebRequest, ServicePoint e WebClient sono obsoleti. Utilizzare invece HttpClient. | Avviso |
SYSLIB0015 | DisablePrivateReflectionAttribute non ha alcun effetto in .NET 6+. | Avviso |
SYSLIB0016 | Usare gli overload Graphics.GetContextInfo che accettano argomenti per prestazioni migliori e un minor numero di allocazioni. | Avviso |
SYSLIB0017 | La firma con nome sicuro non è supportata e genera PlatformNotSupportedException. | Avviso |
SYSLIB0018 | Il caricamento con solo reflection non è supportato e genera PlatformNotSupportedException. | Avviso |
SYSLIB0019 | I membri di System.Runtime.InteropServices.RuntimeEnvironment SystemConfigurationFile, GetRuntimeInterfaceAsIntPtr(Guid, Guid) e GetRuntimeInterfaceAsObject(Guid, Guid) non sono più supportati e generano PlatformNotSupportedException. | Avviso |
SYSLIB0020 | JsonSerializerOptions.IgnoreNullValues è obsoleto. Per ignorare i valori Null durante la serializzazione, impostare DefaultIgnoreCondition su JsonIgnoreCondition.WhenWritingNull. | Avviso |
SYSLIB0021 | I tipi crittografici derivati sono obsoleti. Usare invece il metodo Create sul tipo di base. |
Avviso |
SYSLIB0022 | I tipi Rijndael e RijndaelManaged sono obsoleti. Utilizzare invece Aes. | Avviso |
SYSLIB0023 | RNGCryptoServiceProvider è obsoleto. Per generare un numero casuale, usare invece uno dei metodi statici RandomNumberGenerator. | Avviso |
SYSLIB0024 | La creazione e lo scaricamento di AppDomains non sono supportati e generano un'eccezione. | Avviso |
SYSLIB0025 | SuppressIldasmAttribute non ha alcun effetto in .NET 6+. | Avviso |
SYSLIB0026 | X509Certificate e X509Certificate2 non sono modificabili. Usare il costruttore appropriato per creare un nuovo certificato. | Avviso |
SYSLIB0027 | PublicKey.Key è obsoleto. Usare il metodo appropriato per ottenere la chiave pubblica, ad esempio GetRSAPublicKey(). | Avviso |
SYSLIB0028 | X509Certificate2.PrivateKey è obsoleto. Usare il metodo appropriato per ottenere la chiave privata, ad esempio RSACertificateExtensions.GetRSAPrivateKey(X509Certificate2), o usare il metodo X509Certificate2.CopyWithPrivateKey(ECDiffieHellman) per creare una nuova istanza con una chiave privata. | Avviso |
SYSLIB0029 | ProduceLegacyHmacValues è obsoleto. La produzione di valori HMAC legacy non è più supportata. |
Avviso |
SYSLIB0030 | HMACSHA1 usa sempre l'implementazione dell'algoritmo fornita dalla piattaforma. Usare un costruttore senza il parametro useManagedSha1 . |
Avviso |
SYSLIB0031 | CryptoConfig.EncodeOID(String) è obsoleto. Usare la funzionalità ASN.1 fornita in System.Formats.Asn1. | Avviso |
SYSLIB0032 | Il ripristino da eccezioni di stato del processo danneggiato non è supportato. HandleProcessCorruptedStateExceptionsAttribute viene ignorato. | Avviso |
SYSLIB0033 | Rfc2898DeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]) è obsoleto e non è supportato. Utilizzare invece PasswordDeriveBytes.CryptDeriveKey(String, String, Int32, Byte[]). | Avviso |
SYSLIB0034 | CmsSigner(CspParameters) è obsoleto. Usare invece un costruttore alternativo. | Avviso |
SYSLIB0035 | SignerInfo.ComputeCounterSignature() è obsoleto. Utilizzare invece l'overload che accetta CmsSigner. | Avviso |
Versione di introduzione
.NET 6
Azione consigliata
Seguire le indicazioni specifiche fornite per ogni ID di diagnostica usando il collegamento URL fornito nell'avviso.
Non è possibile eliminare avvisi o errori per questi elementi obsoleti usando l'ID di diagnostica standard per i tipi o i membri obsoleti. Usare invece il valore ID di diagnostica
SYSLIBxxxx
personalizzato.
API interessate
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