SYSLIB0026 : X509Certificate et X509Certificate2 sont immuables

Les API de certificat X509 mutables suivantes sont marquées comme obsolètes à compter de .NET 6. L’utilisation de ces API dans du code génère un avertissement SYSLIB0026 à la compilation.

Solutions de contournement

Créez une instance de X509Certificate et X509Certificate2 en utilisant une surcharge de constructeur qui accepte le certificat comme entrée. Par exemple :

// Change this:
cert.Import("/path/to/certificate.crt");

// To this:
cert.Dispose();
cert = new X509Certificate2("/path/to/certificate.crt");

Supprimer un avertissement

Si vous devez utiliser les API obsolètes, vous pouvez supprimer l’avertissement dans le code ou dans votre fichier projet.

Pour supprimer une seule violation, ajoutez des directives de préprocesseur à votre fichier source pour désactiver, puis réactiver l’avertissement.

// Disable the warning.
#pragma warning disable SYSLIB0026

// Code that uses obsolete API.
// ...

// Re-enable the warning.
#pragma warning restore SYSLIB0026

Pour supprimer tous les avertissements SYSLIB0026 dans votre projet, ajoutez une propriété <NoWarn> à votre fichier projet.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   ...
   <NoWarn>$(NoWarn);SYSLIB0026</NoWarn>
  </PropertyGroup>
</Project>

Pour plus d’informations, consultez Supprimer des avertissements.