SYSLIB0026: X509Certificate e X509Certificate2 non sono modificabili
Le API del certificato x509 modificabili seguenti sono contrassegnate come obsolete, a partire da .NET 6. L'uso di queste API nel codice genera un avviso SYSLIB0026
in fase di compilazione.
Soluzioni alternative
Creare una nuova istanza di X509Certificate
e X509Certificate2
usando un overload del costruttore che accetta il certificato come input. Ad esempio:
// Change this:
cert.Import("/path/to/certificate.crt");
// To this:
cert.Dispose();
cert = new X509Certificate2("/path/to/certificate.crt");
Eliminare un avviso
Se è necessario usare le API obsolete, è possibile eliminare l'avviso nel codice o nel file di progetto.
Per eliminare solo una singola violazione, aggiungere direttive del preprocessore al file di origine per disabilitare e quindi riabilitare l'avviso.
// Disable the warning.
#pragma warning disable SYSLIB0026
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0026
Per eliminare tutti gli avvisi SYSLIB0026
nel progetto, aggiungere una proprietà <NoWarn>
al file di progetto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0026</NoWarn>
</PropertyGroup>
</Project>
Per altre informazioni, vedere Eliminare gli avvisi.