我无法杀死MyApp.vshost.exe

我已经设法使自己处于没有运行devenv实例的状态,但仍然是后台的MyApp.vshost.exe(没有可见的窗口或控制台)。

我试过TaskManager,ProcessExplorer和命令行( taskkill /F /IM MyApp.vshost.exe ),他们都没有抱怨,命令行甚至说'PID 5824停止',但它仍然存在。

我知道我可以重新启动,但我宁愿去到这个底部。

它看起来不是这个问题( http://support.microsoft.com/kb/982551 ),因为我可以重新启动没有问题(实际上,所以将无法提供任何进一步的诊断,对不起)。

编辑

这就是我如何进入这个泡菜:

替代文字

我能够按照以下步骤(VS2010)杀死我的永久vshost进程:

  1. 打开我的可执行项目的属性
  2. 在“debugging”选项卡中,取消选中“启用Visual Studio托pipe过程”
  3. 保存项目文件

就是这样,进程停止了,不需要重新启动Visual Studio。

这似乎是这个任务的正常行为。 当你杀了它的任务重新启动。 所以我build议你closuresVisual Studio,closures* .vshost.exe任务。

在使用.NET 2.0作为目标框架的项目中,我遇到了同样的问题。 暂时将目标框架更改为.NET 4.0客户端为我完成了这项工作。

但是,Iam不确定这是怎么回事(是?)与文件locking问题有关。

也许这就是https://stackoverflow.com/a/1582747/254041 (待处理的I / O进程)中描述的问题:

MSDN API引用说:“TerminateProcess启动终止并立即返回,这将停止进程内的所有线程的执行,并要求取消所有未决的I / O。终止的进程不能退出,直到所有待处理的I / O已完成或取消。 。 这意味着很多:你的I / O可以阻止这个过程(尽pipe我不知道它是如何使你的过程达到100%,I / O通常不这样做)。

Interesting Posts