Założono, że podczas kończenia debugowania (np. Poprzez naciśnięcie przycisku Stop lub naciśnięcie Shift + F5), każda klasa implementująca finalizator lub IDisposable zostanie, dobrze, usunięta.Wykonaj kod, gdy debuger VisualStudio kończy pracę:
Mam kilka klas, które implementują IDisposable. Jest kilka rzeczy, które chciałbym (spróbuj) i zrobić, gdy aplikacja wychodzi z debuggera (lub z powodu awarii w produkcji). Obecnie funkcja Dispose() nie jest wywoływana, ani finalizator. Czy istnieje sposób na wykonanie tej czynności?
Dopóki katastrofa nie zostanie spowodowana przez wyjątek trapujący, nie ma gwarancji JAKIEGOKOLWIEK kodu działa po awarii. taka jest natura awarii aplikacji. Coś poszło nie tak i teraz twój proces został przymusowo zakończony. –
@Boo Zrozumiano. Ale jeśli mogę uruchomić kod pod co najmniej podzbiorem scenariuszy, wezmę to. – CoolUserName
Naciśnięcie przycisku zatrzymania w debugerze jest takie samo, jak system operacyjny zamykający aplikację.Jest to bezceremonialne i dość szaleńcze, bez względu na to, co aplikacja może robić lub zamierza zrobić. –