API obsolete con ID di diagnostica non predefiniti (.NET 9)
Alcune API sono state contrassegnate come obsolete, a partire da .NET 9. 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 9 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à |
---|---|---|
SYSLIB0009 | AuthenticationManager non è supportata. I metodi non eseguiranno operazioni o genereranno PlatformNotSupportedException. | Avviso |
SYSLIB0014 | ServicePointManager è completamente obsoleto. Le impostazioni su ServicePointManager non influiscono SslStream o HttpClient (questo comportamento non è cambiato da .NET 6). | Avviso |
SYSLIB0054 | Thread.VolatileRead e Thread.VolatileWrite sono obsoleti. In sostituzione utilizzare Volatile.Read o Volatile.Write. | Avviso |
SYSLIB0055 |
AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* metodi con parametri firmati sono obsoleti. Usa invece gli overload non firmati. |
Avviso |
SYSLIB0056 |
Assembly.LoadFrom con un AssemblyHashAlgorithm personalizzato è obsoleto. Usare gli overload senza un AssemblyHashAlgorithm . |
Avviso |
SYSLIB0057 | I costruttori X509Certificate2 e X509Certificate per il contenuto binario e del file sono obsoleti. |
Avviso |
Versione introdotta
.NET 9
Tipo di modifica che causa un'interruzione
Queste API obsolete possono influire sulla compatibilità dell'origine.
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
SYSLIB0009
SYSLIB0014
SYSLIB0054
SYSLIB0055
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int64>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.Arm64.ShiftRightLogicalRoundedNarrowingSaturateScalar(Vector64<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int64>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateLower(Vector128<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<SByte>, Vector128<Int16>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int16>, Vector128<Int32>, Byte)
- System.Runtime.Intrinsics.Arm.AdvSimd.ShiftRightLogicalRoundedNarrowingSaturateUpper(Vector64<Int32>, Vector128<Int64>, Byte)
SYSLIB0056
SYSLIB0057
- X509Certificate2(Byte[])
- X509Certificate2(ReadOnlySpan<Byte>)
- X509Certificate2(String)
- X509Certificate2(Byte[], SecureString)
- X509Certificate2(Byte[], String)
- X509Certificate2(String, SecureString)
- X509Certificate2(String, String)
- X509Certificate2(Byte[], SecureString, X509KeyStorageFlags)
- X509Certificate2(Byte[], String, X509KeyStorageFlags)
- X509Certificate2(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)
- X509Certificate2(String, ReadOnlySpan<Char>, X509KeyStorageFlags)
- X509Certificate2(String, SecureString, X509KeyStorageFlags)
- X509Certificate2(String, String, X509KeyStorageFlags)
- X509Certificate(Byte[])
- X509Certificate(String)
- X509Certificate(Byte[], SecureString)
- X509Certificate(Byte[], String)
- X509Certificate(String, String, X509KeyStorageFlags)
- X509Certificate(String, SecureString)
- X509Certificate(String, String)
- X509Certificate(Byte[], SecureString, X509KeyStorageFlags)
- X509Certificate(Byte[], String, X509KeyStorageFlags)
- X509Certificate(String, SecureString, X509KeyStorageFlags)
- X509Certificate(String, String, X509KeyStorageFlags)
- Import(Byte[])
- Import(ReadOnlySpan<Byte>)
- Import(ReadOnlySpan<Byte>)
- Import(Byte[], String, X509KeyStorageFlags)
- Import(ReadOnlySpan<Byte>, ReadOnlySpan<Char>, X509KeyStorageFlags)
- Import(ReadOnlySpan<Byte>, String, X509KeyStorageFlags)
- Import(String, ReadOnlySpan<Char>, X509KeyStorageFlags)
- Import(String, String, X509KeyStorageFlags)
- CreateFromSignedFile(String)
Vedi anche
- API obsolete con ID di diagnostica non predefiniti (.NET 10)
- API obsolete con ID di diagnostica non predefiniti (.NET 8)
- API obsolete con ID di diagnostica non predefiniti (.NET 7)
- API obsolete con ID di diagnostica non predefiniti (.NET 6)
- API obsolete con ID di diagnostica non predefiniti (.NET 5)
- Funzionalità obsolete in .NET 5+