问题 vshost.exe在Visual Studio 2015中无法正常终止


我负责测试VS 2015以及它如何与我们当前的雇主申请一起使用。我们目前使用VS 2013来处理我们所拥有的一切,所以我知道那里没有问题。我遇到的问题是,似乎vshost.exe没有正确终止或其他东西。我没有缩小确切的问题但到目前为止这是我所相信的。

这是我如何得到我的错误:

  1. 在debug中运行我的应用程序
  2. 打开几个窗口
  3. 点击“停止调试”按钮(小红色方块)
  4. 清洁解决方案
  5. 重建解决方案

重建后,我在EXE中遇到以下错误:

Error       Could not copy "obj\Debug\APP.exe" to "..\..\bin\APP.exe". Exceeded retry count of 10. Failed.  
Error       Unable to copy file "obj\Debug\APP.exe" to "..\..\bin\CRM.exe". The process cannot access the file '..\..\bin\APP.exe' because it is being used by another process. 

如果我打开任务管理器并手动结束vshost.exe进程,我可以再次成功重建,没有问题。但是,如果我采取相同的步骤,我将无法再进行构建。

我在2013年测试了这些步骤并且没有问题。

另请注意,禁用“启用Visual Studio托管过程”确实可以缓解此问题,但我不想禁用此选项。

其他人遇到过这个问题吗?我知道我们还在发布的早期。尝试任何建议/解决方案?我们的代码是否有可能出现问题(我非常怀疑,因为我会在2013年得到错误,最有可能)。

感谢您的帮助!

编辑:这是使用C#在.Net 4.0中编写的WPF应用程序。另外,我已经验证了如果我正常退出应用程序也会出现问题(IE我打开一个窗口,然后在LastWindowClosed上以关闭模式关闭它)

第二次编辑:这是一个新问题,它在Visual Studio 2015中加入了新的实时诊断工具。


5100
2017-07-23 16:30


起源

可能重复 我无法杀死MyApp.vshost.exe - Michael Freidgeim
@MichaelFreidgeim这不是重复。受影响的visual studio版本相隔5年,导致此错误的功能是2015版本的新功能,因此在旧版本中甚至无法实现此错误。旧版本中的修复程序(禁用vshost)可以正常工作,但我的答案中还有其他一些不那么具有侵入性的修复程序。 - Carson


答案:


我发现,如果我在调试设置中启用了“在调试时启用诊断工具”选项,则会出现此错误。如果我禁用此选项,则错误消失。我不确定这是否是Visual Studio中的错误但我会这样认为,除非我需要做其他事情来正确关闭它们。如果有人有任何意见或疑虑,请随时留言。


10
2017-07-23 17:03



谢谢。这让我疯狂地每天杀死vshost.exe 1000次。 - Jony Adamit


可能迟到的原始问题(我看到他有一个解决方法),但按照 MSDN,VSHOST.exe只是提高调试性能或促进部分信任调试等方案的推动因素。如果您不需要该支持或者可以承担启动进程并在每个调试会话上附加调试器的成本,请继续并从项目设计器中禁用托管进程 - >调试 - >清除“启用Visual Studio托管进程”框


1
2017-08-30 06:10