Dela via


SYSLIB0026: X509Certificate och X509Certificate2 är oföränderliga

Följande föränderliga x509-certifikat-API:er markeras som föråldrade, med början i .NET 6. Om du använder dessa API:er i kod genereras en varning SYSLIB0026 vid kompileringstillfället.

Provisoriska lösningar

Skapa en ny instans av X509Certificate och X509Certificate2 använd en konstruktoröverlagring som accepterar certifikatet som indata. Till exempel:

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

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

Ignorera en varning

Om du måste använda föråldrade API:er kan du ignorera varningen i koden eller i projektfilen.

Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan varningen.

// Disable the warning.
#pragma warning disable SYSLIB0026

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

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

Om du vill ignorera alla SYSLIB0026 varningar i projektet lägger du till en <NoWarn> egenskap i projektfilen.

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

Mer information finns i Utelämna varningar.