SYSLIB0026: X509Certificate und X509Certificate2 sind unveränderlich
Die folgenden veränderlichen x509-Zertifikat-APIs sind ab .NET 6 als veraltet markiert. Die Verwendung dieser APIs generiert zur Kompilierzeit die Warnung SYSLIB0026
.
Problemumgehungen
Erstellen Sie eine neue Instanz von X509Certificate
und X509Certificate2
, und verwenden Sie eine Konstruktorüberladung, die das Zertifikat als Eingabe akzeptiert. Beispiel:
// Change this:
cert.Import("/path/to/certificate.crt");
// To this:
cert.Dispose();
cert = new X509Certificate2("/path/to/certificate.crt");
Unterdrücken einer Warnung
Wenn Sie die veralteten APIs verwenden müssen, können Sie die Warnung im Code oder in Ihrer Projektdatei unterdrücken.
Um nur einen einzelnen Verstoß zu unterdrücken, fügen Sie der Quelldatei Präprozessoranweisungen hinzu, um die Warnung zu deaktivieren und dann wieder zu aktivieren.
// Disable the warning.
#pragma warning disable SYSLIB0026
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0026
Um alle SYSLIB0026
-Warnungen in Ihrem Projekt zu unterdrücken, fügen Sie ihrer Projektdatei eine <NoWarn>
-Eigenschaft hinzu.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0026</NoWarn>
</PropertyGroup>
</Project>
Weitere Informationen finden Sie unter Unterdrücken von Warnungen.