我设法让自己处于一个状态,我没有运行devenv的实例,但后台仍然是MyApp.vshost.exe(没有可见的窗口或控制台)。
我已经尝试过TaskManager,ProcessExplorer和命令行(taskkill /F /IM MyApp.vshost.exe
),没有人抱怨,命令行甚至说'PID 5824已停止',但它仍然存在。
我知道我可以重启,但我宁愿深究这一点。
这看起来不像是这个问题(http://support.microsoft.com/kb/982551),因为我可以重新启动没有问题(事实上,因此无法提供任何进一步的诊断,抱歉)。
修改
这就是我进入这个泡菜的方式:
答案 0 :(得分:89)
我可以通过以下步骤(VS2010)终止我的持久性vshost进程:
就是这样,进程停止了,没有必要重新启动Visual Studio。
答案 1 :(得分:21)
这似乎是此任务的正常行为。当你杀了它时,任务重新启动。 所以我建议你关闭Visual Studio,关闭* .vshost.exe任务。
答案 2 :(得分:1)
我在使用.NET 2.0作为目标框架的项目时遇到了同样的问题。 临时将目标框架更改为.NET 4.0客户端为我完成了这项工作。
但是,Iam不确定这是如何(是吗?)与文件锁定问题有关。
答案 3 :(得分:1)
也许这与https://stackoverflow.com/a/1582747/254041(待处理的I / O流程)中描述的问题相同:
MSDN API ref表示“TerminateProcess启动终止并立即返回。这将停止执行进程中的所有线程并请求取消所有挂起的I / O.终止的进程无法退出,直到所有挂起的I / O都有已完成或取消。“这意味着:你的I / O可以阻止这个过程(虽然我想知道它如何将你的过程变为100%,I / O通常不会这样做)。