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.