Compartir a través de


SYSLIB0026: X509Certificate y X509Certificate2 son inmutables

Las siguientes API de certificados x509 mutables están marcadas como obsoletas a partir de .NET 6. El uso de estas API en el código genera una advertencia SYSLIB0026 en tiempo de compilación.

Soluciones alternativas

Cree una instancia de X509Certificate y X509Certificate2 mediante una sobrecarga de constructor que acepte el certificado como entrada. Por ejemplo:

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

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

Supresión de una advertencia

Si tiene que seguir usando las API obsoletas, puede suprimir la advertencia en el código o en el archivo de proyecto.

Para suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y luego volver a habilitar la advertencia.

// Disable the warning.
#pragma warning disable SYSLIB0026

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

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

Para suprimir todas las advertencias SYSLIB0026 del proyecto, agregue una propiedad <NoWarn> al archivo del proyecto.

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

Para obtener más información, vea Suprimir advertencias.