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.