Aracılığıyla paylaş


SYSLIB0054: Thread.VolatileRead ve Thread.VolatileWrite kullanımdan kaldırıldı

ve Thread.VolatileWrite yöntemlerinin Thread.VolatileRead tüm aşırı yüklemeleri .NET 9'dan başlayarak eskidir. Bunları kodda çağırmak, derleme zamanında uyarı SYSLIB0054 oluşturur.

Kullanımdan kaldırılmış olma nedeni

ve Thread.VolatileWrite yöntemlerinin 64 bit aşırı yüklemelerinin Thread.VolatileRead .NET Framework uygulaması yanlış bölünmezliğe sahipti. .NET'te (Core), uygulama sırasıyla uygun alma/yayın semantiği sağlayan ve Volatile.Writeiçin temsilci Volatile.Read olarak değiştirildi. Buna ek olarak, sınıfındaki Thread yöntemler Boole bağımsız değişkenini kabul eden bir aşırı yükleme içermez, ancak Volatile yöntemler bunu yapar. Yöntemlerin kullanımını Volatile teşvik etmek için yöntemler engellendi.

Geçici çözüm

Bunun yerine veya Volatile.Write öğesini arayınVolatile.Read.

Uyarıyı gizleme

Eski API'leri kullanmanız gerekiyorsa, uyarıyı kodda veya proje dosyanızda gizleyebilirsiniz.

Yalnızca tek bir ihlali engellemek için, önişlemci yönergelerini kaynak dosyanıza ekleyerek uyarıyı devre dışı bırakın ve sonra yeniden etkinleştirin.

// Disable the warning.
#pragma warning disable SYSLIB0054

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

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

Projenizdeki tüm SYSLIB0054 uyarıları engellemek için proje dosyanıza bir <NoWarn> özellik ekleyin.

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

Daha fazla bilgi için bkz . Uyarıları gizleme.