Partager via


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.

  • 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

SYSLIB0056

SYSLIB0057

Voir aussi