Delen via


SYSLIB0054: Thread.VolatileRead en Thread.VolatileWrite zijn verouderd

Alle overbelastingen van de Thread.VolatileRead en Thread.VolatileWrite methoden zijn verouderd, vanaf .NET 9. Als u deze in code aanroept, wordt er een waarschuwing SYSLIB0054 gegenereerd tijdens het compileren.

Reden voor verdoezeling

De .NET Framework-implementatie van de 64-bits overloads van de Thread.VolatileRead en Thread.VolatileWrite methoden had onjuiste atomiciteit. In .NET (Core) is de implementatie gewijzigd in de delegeren aan respectievelijk de Volatile.Read en Volatile.Write, die de juiste semantiek voor het verkrijgen/vrijgeven bieden. Bovendien bevatten de methoden in de Thread klasse geen overbelasting die een Booleaanse argument accepteert, terwijl de Volatile methoden wel. De methoden waren verouderd om het gebruik van de Volatile methoden aan te moedigen.

Tijdelijke oplossing

Bel Volatile.Read of Volatile.Write in plaats daarvan.

Een waarschuwing onderdrukken

Als u de verouderde API's moet gebruiken, kunt u de waarschuwing in code of in het projectbestand onderdrukken.

Als u slechts één schending wilt onderdrukken, voegt u preprocessorrichtlijnen toe aan uw bronbestand om de waarschuwing uit te schakelen en vervolgens opnieuw in te schakelen.

// Disable the warning.
#pragma warning disable SYSLIB0054

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

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

Als u alle SYSLIB0054 waarschuwingen in uw project wilt onderdrukken, voegt u een <NoWarn> eigenschap toe aan het projectbestand.

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

Zie Waarschuwingen onderdrukken voor meer informatie.