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.