SYSLIB0026: O X509Certificate e X509Certificate2 são imutáveis
As APIs de certificado x509 mutáveis a seguir são marcadas como obsoletas, a partir do .NET 6. O uso dessas APIs no código gera o aviso SYSLIB0026
em tempo de compilação.
Soluções Alternativas
Crie uma instância de X509Certificate
e X509Certificate2
usando uma sobrecarga de construtor que aceite o certificado como entrada. Por exemplo:
// Change this:
cert.Import("/path/to/certificate.crt");
// To this:
cert.Dispose();
cert = new X509Certificate2("/path/to/certificate.crt");
Suprimir um aviso
Se for necessário usar as APIs obsoletas, você poderá suprimir o aviso no código ou no arquivo de projeto.
Para suprimir apenas uma violação única, adicione as diretivas de pré-processador ao arquivo de origem para desabilitar e, em seguida, reabilite o aviso.
// Disable the warning.
#pragma warning disable SYSLIB0026
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0026
Para suprimir todos os avisos SYSLIB0026
no projeto, adicione uma propriedade <NoWarn>
ao arquivo de projeto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0026</NoWarn>
</PropertyGroup>
</Project>
Para obter mais informações, confira Suprimir avisos.