SYSLIB0026: X509Certificate e X509Certificate2 são imutáveis
As seguintes APIs de certificado x509 mutáveis são marcadas como obsoletas, começando no .NET 6. Usar essas APIs no código gera aviso SYSLIB0026
em tempo de compilação.
Soluções
Crie uma nova instância de e X509Certificate2
usando uma sobrecarga de X509Certificate
construtor que aceita 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 você precisar usar as APIs obsoletas, poderá suprimir o aviso no código ou no arquivo de projeto.
Para suprimir apenas uma única violação, adicione diretivas de pré-processador ao arquivo de origem para desativar e reativar 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 SYSLIB0026
avisos em seu projeto, adicione uma <NoWarn>
propriedade ao seu arquivo de projeto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0026</NoWarn>
</PropertyGroup>
</Project>
Para obter mais informações, consulte Suprimir avisos.