我正在使用 Visual Studio 2012 Update 3。当我打开一个项目时,VS 会自动创建一个名为 的进程<myproject>.vshost.exe
,甚至在开始调试之前。
当我开始调试并稍后关闭调试应用程序时,大多数情况下<myproject>.vshost.exe
进程也会关闭。发生这种情况时,devenv.exe
开始占用比正常情况多 3 倍的内存,并且 CPU 在大约 1 分钟内上升到 25%(在具有 8GB 内存的 i7 Quadcore 上)。在 1 分钟结束时,一个新的<myproject>.vshost.exe
打开(即使我没有调试),CPU 回落到 0,内存也回落。
在 CPU 为 25% 且未在后台运行时尝试开始调试<myproject>.vshost.exe
将导致解决方案构建,但调试不会开始。
如果我等到 CPU 回落并且<myproject>.vshost.exe
进程再次运行,那么我可以正常开始调试。
关闭我正在调试的应用程序后,80% 的时间都会发生这种情况。当我停止调试时,剩下的 20% 的时间<myproject>.vshost.exe
继续在后台运行,并且我可以立即重新开始调试,没有延迟。
无论调试之间的代码更改如何,都会发生这种情况。
这是 VS2012 U3 的新安装,我尝试重置所有设置并禁用 ReSharper,但仍然没有乐趣。
我不想禁用 vshost 调试,因为我会失去这些功能。
以前有没有其他人遇到过这个问题?这是一个已知的问题?是否有任何解决方案/解决方法?
编辑
我将平台从 Any CPU 更改为 x86,它似乎可以正常工作,但我仍然不明白为什么我不能将它作为 Any CPU 进行调试。即使这可能是解决方法,我仍然想知道这是否是一个已知问题以及是否有其他(更好的)解决方案。
通过“正常工作”,我的意思是当我停止调试时,vshost 不会关闭,实际上它永远不会关闭,但 devenv 的 CPU 保持在 0%,它允许我启动和停止调试任意多次一个接一个。
编辑2
实际上,将平台更改为 x86 似乎只在一段时间内正常工作,在大约 20 次重建之后,它现在的效果与将其保留为任何 CPU 相同。
另一方面,关闭和打开 VS 没有区别。