Bagikan melalui


SYSLIB0043: ECDiffieHellmanPublicKey.ToByteArray sudah usang

Metode berikut usang, mulai dari .NET 7. Menggunakannya dalam kode menghasilkan peringatan SYSLIB0043 pada waktu kompilasi.

Metode ECDiffieHellmanPublicKey.ToByteArray() ini tidak memiliki format file tersirat. Selain itu, untuk implementasi bawaan, ia melemparkan PlatformNotSupportedException pada semua sistem operasi non-Windows. Karena ECDiffieHellmanPublicKey juga memiliki ekspor format standar (melalui ExportSubjectPublicKeyInfo() metode ), anggota yang lebih lama telah usang.

Solusi Sementara

Jika Anda mengekspor nilai kunci publik, gunakan metode sebagai gantinya ExportSubjectPublicKeyInfo() .

Untuk jenis turunan baru (atau jenis turunan yang sudah ada yang saat ini tidak memanggil ECDiffieHellmanPublicKey(Byte[]) konstruktor), jangan panggil konstruktor yang dilindungi ECDiffieHellmanPublicKey(Byte[]) , dan ambil alih ToByteArray() untuk melempar pengecualian, atau menerima perilaku default mengembalikan array kosong.

Untuk jenis turunan yang sudah ada yang sudah memanggil konstruktor yang dilindungi ECDiffieHellmanPublicKey(Byte[]) , lanjutkan memanggil konstruktor dan menekan SYSLIB0043 peringatan.

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 SYSLIB0043

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

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

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

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

Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.