C# 即使在调试模式下关闭应用程序,Visual Studio也不会停止

C# 即使在调试模式下关闭应用程序,Visual Studio也不会停止,c#,visual-studio-2010,C#,Visual Studio 2010,我正在用c#开发一个windows窗体。它工作正常,但当我在调试模式下运行它时,我可以看到VisualStudio即使在关闭表单后也没有停止 下面是一些截图- 及 可能我的应用程序没有释放任何资源。我如何处理这个问题?如何知道哪些资源仍在使用中?当我过去看到这个问题时,是因为我的应用程序实际上还没有退出。这很可能是因为您或某个依赖项仍有一个线程在运行,但尚未停止。您可以通过查看任务管理器并检查yourapplication.exe或yourapplication.vshost.exe来判断情

我正在用c#开发一个windows窗体。它工作正常,但当我在调试模式下运行它时,我可以看到VisualStudio即使在关闭表单后也没有停止

下面是一些截图-


可能我的应用程序没有释放任何资源。我如何处理这个问题?如何知道哪些资源仍在使用中?

当我过去看到这个问题时,是因为我的应用程序实际上还没有退出。这很可能是因为您或某个依赖项仍有一个线程在运行,但尚未停止。您可以通过查看任务管理器并检查
yourapplication.exe
yourapplication.vshost.exe
来判断情况是否如此。如果任务管理器中打开了这两个选项中的任何一个,则可以将其杀死


要解决此问题,请确保在所有线程上调用
Abort()

我过去看到这个问题是因为我的应用程序实际上还没有退出。这很可能是因为您或某个依赖项仍有一个线程在运行,但尚未停止。您可以通过查看任务管理器并检查
yourapplication.exe
yourapplication.vshost.exe
来判断情况是否如此。如果任务管理器中打开了这两个选项中的任何一个,则可以将其杀死


要解决此问题,请确保在所有线程上调用
Abort()

您可能希望尝试从启动任务管理器查看流程。如果应用程序启动的第三方进程仍在运行,这可能会为您提供一些信息。

您可能希望尝试从启动任务管理器查看这些进程。如果应用程序启动的第三方进程仍在运行,这可能会为您提供一些信息。

如果您使用表单而不是表单作为默认消息队列,则可能会出现这种情况。如果是这样,请考虑处理表单的窗体关闭事件。

如果您正在使用窗体而不是窗体默认消息队列,则可能发生这种情况。如果是这样,请考虑处理表单的窗体关闭事件。

这可能有助于使用<代码>中断所有< /代码>(“暂停”按钮),并查看StasTrace/Type窗口,查看应用程序挂起的位置。您的应用程序退出模式是什么?设置为显式吗?@DominicKexel:你的信息真的很有用。最后我找到了罪魁祸首。非常感谢。这可能有助于使用
中断所有
(“暂停”按钮)并查看stacktrace/threads窗口以查看应用程序挂起的位置。应用程序的退出模式是什么?设置为显式吗?@DominicKexel:你的信息真的很有用。最后我找到了罪魁祸首。非常感谢。请记住,你不是在解决问题,你很可能是在隐藏它。在Visual Studio外部运行应用程序,并检查进程是否在关闭其窗体后终止。请记住,您并不是在解决问题,很可能是在隐藏它。在Visual Studio外部运行应用程序,并检查在关闭其窗体后进程是否终止。很好。事实上,这是第二种观点,并没有结束。很好。这实际上是第二个没有结束的视图。