Obsolescence d’API avec IDs de diagnostics autres que ceux par défaut (.NET 9)
Certaines API ont été marquées comme obsolètes, à partir de .NET 9. Ce changement cassant est spécifique aux API qui ont été marquées comme obsolètes avec un ID de diagnostic personnalisé. La suppression de l’ID de diagnostic d’obsolescence par défaut, qui est CS0618 pour le compilateur C#, ne supprime pas les avertissements générés par le compilateur lorsque ces API sont utilisées.
Description de la modification
Dans les versions précédentes de .NET, ces API peuvent être utilisées sans avertissement de build. Dans .NET 9 et versions ultérieures, l’utilisation de ces API génère un avertissement ou une erreur au moment de la compilation avec un ID de diagnostic personnalisé. L’utilisation des ID de diagnostic personnalisés vous permet de supprimer individuellement des avertissements d’obsolescence au lieu de tous les supprimer.
Le tableau suivant répertorie les ID de diagnostic personnalisés et leurs messages d’avertissement correspondants pour les API obsolètes.
ID de diagnostic | Description | Gravité |
---|---|---|
SYSLIB0009 | La fonction AuthenticationManager n'est pas prise en charge. Méthodes qui lèvent une PlatformNotSupportedException ou n’ont aucune opération. | Avertissement |
SYSLIB0014 : WebRequest, HttpWebRequest, ServicePoint, WebClient sont obsolètes | ServicePointManager est entièrement obsolète. Les paramètres sur ServicePointManager n’affectent SslStream pas ou HttpClient (ce comportement n’a pas changé depuis .NET 6). | Avertissement |
SYSLIB0054 | Thread.VolatileRead et Thread.VolatileWrite sont obsolètes. Utilisez plutôt Volatile.Read ou Volatile.Write. | Avertissement |
SYSLIB0055 | Les méthodes AdvSimd.ShiftRightLogicalRoundedNarrowingSaturate* avec des paramètres signés sont obsolètes. Utilisez plutôt les surcharges non signées. |
Avertissement |
SYSLIB0056 | Assembly.LoadFrom avec un AssemblyHashAlgorithm personnalisé est obsolète. Utilisez les surcharges sans AssemblyHashAlgorithm . |
Avertissement |
SYSLIB0057 | Les constructeurs X509Certificate2 et X509Certificate pour le contenu binaire et fichier sont obsolètes. |
Avertissement |
Version introduite
.NET 9
Type de changement cassant
Ces obsolescences peuvent affecter la compatibilité de la source.
Action recommandée
Suivez les instructions spécifiques fournies pour chaque ID de diagnostic à l’aide du lien URL fourni sur l’avertissement.
Les avertissements ou les erreurs liés à ces obsolescences ne peuvent pas être supprimés à l’aide de l’ID de diagnostic standard pour les types ou membres obsolètes ; utilisez plutôt la valeur d’ID de diagnostic
SYSLIBxxxx
personnalisé.
API affectées
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)
Voir aussi
- Obsolescence d’API avec ID de diagnostics autres que ceux par défaut (.NET 8)
- Obsolescence d’API avec ID de diagnostics autres que ceux par défaut (.NET 7)
- Obsolescence d’API avec ID de diagnostics autres que ceux par défaut (.NET 6)
- Obsolescence d’API avec ID de diagnostics autres que ceux par défaut (.NET 5)
- Fonctionnalités obsolètes dans .NET 5+