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.