Bagikan melalui


SYSLIB0026: X509Certificate dan X509Certificate2 tidak dapat diubah

API sertifikat x509 yang dapat diubah berikut ditandai sebagai usang, mulai dari .NET 6. Menggunakan API ini dalam kode menghasilkan peringatan SYSLIB0026 pada waktu kompilasi.

Penyelesaian masalah

Buat instans X509Certificate baru dan X509Certificate2 gunakan kelebihan beban konstruktor yang menerima sertifikat sebagai input. Contohnya:

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

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

Menyembunyikan peringatan

Jika Anda harus menggunakan API usang, Anda dapat menekan peringatan dalam kode atau dalam file proyek Anda.

Untuk menekan hanya satu pelanggaran, tambahkan direktif praprosedur ke file sumber Anda untuk menonaktifkan lalu mengaktifkan kembali peringatan.

// Disable the warning.
#pragma warning disable SYSLIB0026

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

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

Untuk menekan semua SYSLIB0026 peringatan dalam proyek Anda, tambahkan <NoWarn> properti ke file proyek Anda.

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

Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.