Compartir vía


SYSLIB0059: Los callbacks SystemEvents.EventsThreadShutdown no se ejecutan antes de que el proceso termine.

El evento SystemEvents.EventsThreadShutdown está obsoleto, a partir de .NET 10. Referirse a este evento en el código genera la advertencia SYSLIB0059 en tiempo de compilación.

Motivo de obsolescencia

El control de apagado anterior en SystemEvents podría bloquear el subproceso del finalizador durante el apagado de la aplicación. Para evitar bloquear el subproceso del finalizador, SystemEvents ya no tiene gestión de apagado, lo que significa que ya no se llama al evento SystemEvents.EventsThreadShutdown. Para exponer este cambio de comportamiento, el evento se marcó como obsoleto.

Solución alternativa

Use AppDomain.ProcessExit en su lugar.

Suprimir una advertencia

Si debe usar la API obsoleta, puede suprimir la advertencia en el código o en el archivo del proyecto.

Para suprimir solo una infracción, agregue directivas de preprocesador al archivo de origen para deshabilitar y volver a habilitar la advertencia.

// Disable the warning.
#pragma warning disable SYSLIB0059

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

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

Para suprimir todas las advertencias de SYSLIB0059 del proyecto, agregue una propiedad <NoWarn> al archivo del proyecto.

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

Para obtener más información, vea Suprimir advertencias.