Condividi tramite


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.