SYSLIB0059: SystemEvents.EventsThreadShutdown-återanrop körs inte innan processen avslutas
Händelsen SystemEvents.EventsThreadShutdown är föråldrad och startar i .NET 10. Om du refererar till den här händelsen i koden genereras en varning SYSLIB0059
vid kompileringstillfället.
Orsak till obsoletion
Den tidigare avstängningshanteringen i SystemEvents kunde blockera finalizertråden vid avstängning av appen. För att undvika att blockera finalizertråden har SystemEvents inte längre avstängningshantering, vilket innebär att SystemEvents.EventsThreadShutdown händelsen inte längre anropas. För att visa den här beteendeändringen har händelsen markerats som föråldrad.
Lösning
Använd AppDomain.ProcessExit i stället.
Ignorera en varning
Om du måste använda det föråldrade API:et kan du utelämna varningen i koden eller i projektfilen.
Om du bara vill förhindra en enda överträdelse lägger du till förprocessordirektiv i källfilen för att inaktivera och återaktiverar sedan varningen.
// Disable the warning.
#pragma warning disable SYSLIB0059
// Code that uses obsolete API.
// ...
// Re-enable the warning.
#pragma warning restore SYSLIB0059
Om du vill ignorera alla SYSLIB0059
varningar i projektet lägger du till en <NoWarn>
-egenskap i projektfilen.
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
...
<NoWarn>$(NoWarn);SYSLIB0059</NoWarn>
</PropertyGroup>
</Project>
Mer information finns i Utelämna varningar.