SYSLIB0054: Thread.VolatileRead y Thread.VolatileWrite están obsoletos
Todas las sobrecargas de los métodos Thread.VolatileRead y Thread.VolatileWrite están obsoletas, a partir de .NET 9. Si se los llama en el código, se genera la advertencia SYSLIB0054
en tiempo de compilación.
Motivo de la obsolescencia
La implementación de .NET Framework de las sobrecargas de 64 bits de los métodos Thread.VolatileRead y Thread.VolatileWrite tenían atomicidad incorrecta. En .NET (Core), la implementación se cambió para delegar en el Volatile.Read y Volatile.Write, respectivamente, lo que proporciona una semántica de adquisición y versión adecuada. Además, los métodos de la clase Thread no incluyen una sobrecarga que acepta un argumento booleano, mientras que los métodos Volatile lo hacen. Los métodos estaban obsoletos para fomentar el uso de los métodos de Volatile.
Solución alternativa
Llame a Volatile.Read o Volatile.Write en su lugar.
Supresión de una advertencia
Si tiene que seguir usando las API obsoletas, puede suprimir la advertencia en el código o en el archivo de proyecto.
Para suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y luego volver a habilitar la advertencia.
// Disable the warning.
#pragma warning disable SYSLIB0054
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0054
Para suprimir todas las advertencias SYSLIB0054
del proyecto, agregue una propiedad <NoWarn>
al archivo del proyecto.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0054</NoWarn>
</PropertyGroup>
</Project>
Para obtener más información, vea Suprimir advertencias.