VisualStudio 陷入了“必须在关闭解决方案之前停止生成”的困境

当 VisualBasic 编译器(Vbc.exe)崩溃时,VisualStudio 无法检测到这一点,并陷入无法操作的状态。如果解决方案正在生成,“生成”菜单会显示出来,但“取消生成(Ctrl + 中断)”菜单项没有效果。试图关闭应用程序或解决方案时会出现错误:

必须在关闭解决方案之前停止生成。

除非终止 devenv.exe 进程并完全重新启动 Visual Studio,否则我找不到任何补救办法。还有什么更快更轻松的办法吗?

(微软声称在2005年就有了 修好了这个漏洞,但我现在用的是 VS2008。)

45246 次浏览

我会寻找 msbuild进程杀死之前的 devenv。并确保 vbc真的已经走了。

正如评论所说,尝试自己使用 msbuild

鉴于我已经得到了一个漂亮的答案徽章,我觉得我应该强调我的意见如下: 在所有的情况下,这已经发生在我没有 msbuildvbc进程杀死。如果有人给我一个 + 1,因为他们 是的发现一个卡住的 msbuildvbc进程,请评论说,这也是这种情况。

我在 Visual Studio 2013 Professional 中也看到了这个错误,我通过 Task Manager 终止了 devenv.exe。

您可以在 VS 中使用快捷的 ctrl + break,这应该会取消构建过程。

有时这个问题也会出现在 VS2015中。按照相同的过程(杀死过程)也会在这里工作。

我在 VS2015中遇到过这个问题。您可以在不关闭 Visual Studio 的情况下特别关闭 MSBuild.exe 进程。

对于 Visual Studio 2015或更高版本,在 Menubar,在“生成”选项下有“取消”选项。 这样就可以停止建造了。

S O L V E D 它!

在 VS2017教授 vs15.9.16中遇到了这个问题。 执行构建时,构建开始编译,但从未完成。 构建菜单项除了 取消以外都是灰色的。取消不起作用。 使用不同的编译器工作! “杀死进程” 是杀死构建的唯一方法。

剥离程序到它的最低限度显示了真正的问题。 其中引用的 DLL 挂起了构建。 编译 DLL 并重新引用它们解决了这个问题。

我今天在使用 VS2019(16.4.2)时得到了这个。我的情况下,我开始了一个发布-这是一个数据库项目-并改变了我的想法,所以取消了发布使用 Ctrl + 休息。生成显示已成功完成,但发布没有启动。发布是灰色的,我不能退出 VS,因为这个错误。我没有运行 msbuild 或 vbc 进程。我的解决办法是终止 Devenv 进程。

Still happens in VS 2022. .Net host process gets stuck while building project with version conflict dependencies. Resolving those conflicts helps and build proceeds, but again, the question why dotnet process is getting stuck on it.

Taskkill/IM devenv.exe/F 对我有用