当 Visual Basic 编译器 (Vbc.exe) 崩溃时,Visual Studio 无法检测到这一点并陷入无法操作的状态。 “构建”菜单显示为解决方案正在构建时的样子,但取消构建 (Ctrl+Break) 菜单项无效。尝试关闭应用程序或解决方案会出现错误:
必须先停止构建,然后才能关闭解决方案。
除了终止 devenv.exe 进程并完全重新启动 Visual Studio 之外,我找不到任何解决方法。有什么更快、更不严重的事情吗?
(Microsoft 声称在 2005 年拥有 fixed this bug,但我正在使用 VS2008 来体验它。)
我会在 devenv
之前寻找要杀死的 msbuild
个进程。并确保 vbc
也确实消失了。
正如评论所说,请尝试自己使用msbuild
。
看到我从中获得了一个很好的答案徽章,我觉得我应该在下面强调我的评论:在我发生这种情况的所有情况下,没有 msbuild
或 vbc
进程可以杀死。如果有人因为他们确实发现了一个卡住的 msbuild
或 vbc
进程而给了我或给了我 +1,请评论说情况也是如此。
您可以在 VS 中使用快捷键 ctrl+break,这应该会取消构建过程。
我在 Visual Studio 2013 Professional 中也看到了这个错误。我通过任务管理器终止了 devenv.exe。
对于 Visual Studio 2015 或更高版本,在菜单栏中的构建选项下,有“取消”选项。这将停止构建。
解决了!
在 VS2017 教授 vs15.9.16 中有这个问题。执行构建时,构建开始编译但永远不会完成。除“取消”外,构建菜单项均显示为灰色。并且取消不起作用。使用不同的编译器有效! “终止进程”是终止构建的唯一方法。
将程序剥离到最低限度表明了真正的问题。那里引用的 DLL 挂起构建。编译 DLL 并重新引用它们解决了这个问题。
有时这个问题也会出现在 VS2015 中。遵循相同的过程(终止过程)也可以在这里工作。
我在VS2015中出现了这个问题。您可以在不关闭 Visual Studio 的情况下专门终止 MSBuild.exe 进程。
我今天在使用 VS2019 (16.4.2) 时遇到了这个问题。在我的情况下,我开始发布 - 这是一个数据库项目 - 并改变了主意,因此使用 Ctrl+Break 取消了发布。构建显示为已成功完成,并且发布没有开始。 Publish 显示为灰色,由于此错误,我无法退出 VS。我没有运行 msbuild 或 vbc 进程。我的解决方案是终止 devenv 进程。
在 VS 2022 中仍然会发生。.Net 主机进程在构建具有版本冲突依赖项的项目时卡住了。解决这些冲突有助于并建立收益,但同样的问题是为什么 dotnet 进程会卡在上面。
不定期副业成功案例分享
vbc
,请向 connect.microsoft.com 报告您使用的任何版本;但请确保您的所有 Windows 更新都是最新的。Ctrl+Break
或转到 Visual Studio 2013 Build Menu ->取消构建,很简单。 reference 希望对某人有所帮助。