Nun, das wird vier Jahre zu spät sein, aber ich dachte, ich würde dies für jeden anderen veröffentlichen, der auf dieses Problem (wie ich gerade), Entschuldigung im Voraus, wenn das ziemlich einfach ist, bin ich fair Neu bei C#, also hat mich das ein bisschen umgehauen.
Ich hatte das gleiche Problem wie OP, wo in meinem FormClosing-Ereignis weder Application.Exit() noch Environment.Exit (0) den Debugger beenden würde.
Die Sache, die ich fand, schaute auf die Referenzzählung über meinem FormClosing-Ereignis, es zeigte "0 Referenzen". Ich hatte gerade das Abschluss-Ereignis von einem anderen Forum kopiert und eingefügt, so dass es keinen Event-Handler gab, der das Ereignis, das ich erstellt/kopiert hatte, tatsächlich behandelte.
Eine einfache Möglichkeit, dies zu lösen (außer keinen Code kopieren und einfügen) war die Ereignisbehandlungsroutine zu erstellen:
- Zuerst zum gehen "Form1.cs [Design] Registerkarte
- Navigieren Sie zu dem ‚Eigenschaften‘ Feld
- klicken Sie auf
- Suche ‚Formclosing‘ ‚Events‘ und doppelklicken Sie, dass
Wenn Sie das gleiche Problem hatte shoul Sie Jetzt kann ich sehen, dass es mindestens einen Verweis auf das Ereignis gibt. Wenn Sie nun das Formular schließen, sollte es auch den Debugger stoppen.
Vielleicht läuft noch etwas Hintergrundverarbeitung? Sie können die Ausführung anhalten, nachdem Sie das Hauptformular geschlossen und das Fenster "Threads" überprüft haben. –
Wenn Sie alles geschlossen haben, versuchen Sie "Break All" im Menü Debug in Visual Studio und sehen Sie, wo Sie landen. –
Ja, ich habe festgestellt, dass einige meiner Threads noch laufen. Wie kann ich diese Threads stoppen? – sanchop22