Delen via


SYSLIB0026: X509Certificate en X509Certificate2 zijn onveranderbaar

De volgende veranderlijke x509-certificaat-API's zijn gemarkeerd als verouderd, te beginnen in .NET 6. Als u deze API's in code gebruikt, wordt tijdens het compileren een waarschuwing SYSLIB0026 gegenereerd.

Tijdelijke oplossingen

Maak een nieuw exemplaar van X509Certificate en X509Certificate2 gebruik een overbelasting van een constructor die het certificaat als invoer accepteert. Voorbeeld:

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

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

Een waarschuwing onderdrukken

Als u de verouderde API's moet gebruiken, kunt u de waarschuwing in code of in het projectbestand onderdrukken.

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de waarschuwing uit te schakelen en vervolgens opnieuw in te schakelen.

// Disable the warning.
#pragma warning disable SYSLIB0026

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

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

Als u alle SYSLIB0026 waarschuwingen in uw project wilt onderdrukken, voegt u een <NoWarn> eigenschap toe aan het projectbestand.

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

Zie Waarschuwingen onderdrukken voor meer informatie.