SYSLIB0026: X509Certificate a X509Certificate2 jsou neměnné
Následující proměnlivá rozhraní API certifikátu x509 jsou označena jako zastaralá počínaje rozhraním .NET 6. Použití těchto rozhraní API v kódu generuje upozornění SYSLIB0026
v době kompilace.
Alternativní řešení
Vytvořte novou instanci X509Certificate
a X509Certificate2
pomocí přetížení konstruktoru, který přijímá certifikát jako vstup. Příklad:
// Change this:
cert.Import("/path/to/certificate.crt");
// To this:
cert.Dispose();
cert = new X509Certificate2("/path/to/certificate.crt");
Potlačení upozornění
Pokud musíte použít zastaralá rozhraní API, můžete potlačit upozornění v kódu nebo v souboru projektu.
Chcete-li potlačit pouze jedno porušení, přidejte do zdrojového souboru direktivy preprocesoru, které chcete zakázat a znovu povolit upozornění.
// Disable the warning.
#pragma warning disable SYSLIB0026
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0026
Pokud chcete potlačit všechna SYSLIB0026
upozornění v projektu, přidejte <NoWarn>
do souboru projektu vlastnost.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0026</NoWarn>
</PropertyGroup>
</Project>
Další informace naleznete v tématu Potlačení upozornění.