C# Visual Studio 2010/2012:当在断点上停止调试时,已调试进程将挂起且不可修复

C# Visual Studio 2010/2012:当在断点上停止调试时,已调试进程将挂起且不可修复,c#,visual-studio-2010,visual-studio,debugging,visual-studio-2012,C#,Visual Studio 2010,Visual Studio,Debugging,Visual Studio 2012,有时会发生。 使用Visual Studio 2012 Professional运行Windows 8 x64(在VS 2010之前也发生过这种情况)。 正在使用“启用本机代码调试”调试的C#控制台项目 按F5,调试某些代码,到达断点等。然后按Shift+F5(停止调试),Visual Studio不会像正常情况那样返回编辑模式,它只是挂起一段时间,然后提供终止挂起操作的选项(对话框窗口“远程操作所用的时间超出预期”带有进度条和终止按钮)。如果我没有单击终止,它将停留在那里,只是更新进度条。 如

有时会发生。 使用Visual Studio 2012 Professional运行Windows 8 x64(在VS 2010之前也发生过这种情况)。 正在使用“启用本机代码调试”调试的C#控制台项目

按F5,调试某些代码,到达断点等。然后按Shift+F5(停止调试),Visual Studio不会像正常情况那样返回编辑模式,它只是挂起一段时间,然后提供终止挂起操作的选项(对话框窗口“远程操作所用的时间超出预期”带有进度条和终止按钮)。如果我没有单击终止,它将停留在那里,只是更新进度条。 如果单击以终止操作,VS将返回到可编辑模式,但调试的进程仍在Task Manager中可见,并且不可终止。此挂起的调试进程会锁定它使用的某些文件(例如DLL),因此无法进一步重建。终止此进程的唯一方法是重新启动计算机

有趣的是,当调试代码中达到断点并逐步执行调试时,就会发生这种情况。如果我只是在没有断点的情况下运行调试过程,那么挂起就不会发生


以下线程中的解决方案没有帮助:

在使用2010之前,我们遇到过类似的问题,但还无法找出根本原因

解决方法是单独运行进程(控制台,双击.exe)并执行。
注意:如果您想调试启动代码,那么这可能不是一个好主意。

我刚才遇到了一些关于文件锁和调试器奇怪行为的严重不可解释的问题。我通过激活应用体验服务解决了这些问题。我不知道为什么,但激活它后,我所有关于调试的问题都悄然消失了

我遇到了一个类似的绞刑问题并解决了它。尝试它可能会治愈您的伤口(它适用于windows窗体,但由于您使用的是控制台,所以值得一试):


请让我知道它是否有效。

我认为这与我正在使用的网络IO有关。由于不同的框架版本,我遇到了相同的问题。我使用的是使用旧框架的外部程序集。雅各布的回答对我很有帮助。:-)