Bagikan melalui


SYSLIB0054: Thread.VolatileRead dan Thread.VolatileWrite sudah usang

Semua kelebihan beban Thread.VolatileRead metode dan Thread.VolatileWrite usang, mulai dari .NET 9. Memanggilnya dalam kode menghasilkan peringatan SYSLIB0054 pada waktu kompilasi.

Alasan kedaluarsa

Implementasi .NET Framework dari kelebihan beban 64-bit dari Thread.VolatileRead metode dan Thread.VolatileWrite memiliki atomitas yang salah. Dalam .NET (Core), implementasi diubah untuk mendelegasikan ke Volatile.Read dan Volatile.Write, masing-masing, yang menyediakan semantik akuisisi/rilis yang tepat. Selain itu, metode di Thread kelas tidak menyertakan kelebihan beban yang menerima argumen Boolean, sedangkan Volatile metodenya. Metode ini kedaluarsa untuk mendorong penggunaan Volatile metode.

Solusi Sementara

Hubungi Volatile.Read atau Volatile.Write sebagai gantinya.

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 SYSLIB0054

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

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

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

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

Untuk informasi selengkapnya, lihat Menyembunyikan peringatan.