ChatGPT解决这个技术问题 Extra ChatGPT

Visual Studio 卡在“必须先停止构建,然后才能关闭解决方案”

当 Visual Basic 编译器 (Vbc.exe) 崩溃时,Visual Studio 无法检测到这一点并陷入无法操作的状态。 “构建”菜单显示为解决方案正在构建时的样子,但取消构建 (Ctrl+Break) 菜单项无效。尝试关闭应用程序或解决方案会出现错误:

必须先停止构建,然后才能关闭解决方案。

除了终止 devenv.exe 进程并完全重新启动 Visual Studio 之外,我找不到任何解决方法。有什么更快、更不严重的事情吗?

(Microsoft 声称在 2005 年拥有 fixed this bug,但我正在使用 VS2008 来体验它。)

我遇到了同样的问题。我还不得不关闭该过程
我不会将终止 devenv.exe 进程称为“严重”。不幸的是,在所有版本中使用 Visual Studio 时,我将其称为例行任务。通常一切都在构建之前保存,所以有什么大不了的?
哇,如果您通过 VPN 并在 VS 崩溃时损失了 10 分钟,为什么不通过命令行构建呢?如果您不使用 Visual Studio 进行构建,Visual Studio 将不会出现构建问题 :)
在 VS2012 中也是如此
...在 VS2013 中也是如此。

M
Mark Hurd

我会在 devenv 之前寻找要杀死的 msbuild 个进程。并确保 vbc 也确实消失了。

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

看到我从中获得了一个很好的答案徽章,我觉得我应该在下面强调我的评论:在我发生这种情况的所有情况下,没有 msbuildvbc 进程可以杀死。如果有人因为他们确实发现了一个卡住的 msbuildvbc 进程而给了我或给了我 +1,请评论说情况也是如此。


当然,如果您可以生成一个反复崩溃的小项目vbc,请向 connect.microsoft.com 报告您使用的任何版本;但请确保您的所有 Windows 更新都是最新的。
感谢您的想法,马克等人。我不再与让我建立 VPN 的雇主在一起,所以我无法测试这些建议。我想说的是,作为唯一一个使用非标准构建过程的开发人员(我们制作了一个包含大量时间敏感、复杂构建的 Web 应用程序,因此沟通很重要)以及“接受它作为life" 似乎是一种丑陋的 Windows 文化妥协。谢谢你的尝试。
Ctrl+Break 或转到 Visual Studio 2013 Build Menu ->取消构建,很简单。 reference 希望对某人有所帮助。
这发生在我今天在 Visual Studio 2015 中。构建无法取消。我通常在单独的 VS 窗口中一次打开 3 个或更多解决方案。今天我有 5 或 6 个,所以就像我通常在类似情况下所做的那样,我正确关闭了功能窗口,然后在只剩下一个坏的窗口(结束进程)时杀死它。我今天注意到的有趣的事情是我有 4 个 MSBuild.exe 进程正在运行,尽管在其他窗口中没有运行构建。当我关闭另一个窗口时,那些 MSBuild.exe 进程都结束了,没有一个与死窗口实际相关联。
那 msbuild 是我的问题。在任务管理器中停止它。如果有些人看不到它,请确保选中底部的复选框(显示所有进程),以防它被隐藏。我的没有隐藏。
G
Grengas

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


M
Mike Upjohn

我在 Visual Studio 2013 Professional 中也看到了这个错误。我通过任务管理器终止了 devenv.exe。


我也用 VS2015 得到它,在构建菜单中取消不可用,因为我没有正在进行的构建。去任务管理器杀死VS并重新启动工作,但这很痛苦......
痛苦是的,但它确实有效。我必须承认,自从发布此消息以来,我发生这种情况的次数要少得多,如果有的话。我重新安装后问题解决了。
这不是一个好的解决方案,因为底层构建过程仍将运行。
它被用作最后的手段,说这个问题不再发生在我身上。
R
Rohil Patel

对于 Visual Studio 2015 或更高版本,在菜单栏中的构建选项下,有“取消”选项。这将停止构建。


我们在这里的原因是因为这并没有停止构建:p
T
Ton

解决了!

在 VS2017 教授 vs15.9.16 中有这个问题。执行构建时,构建开始编译但永远不会完成。除“取消”外,构建菜单项均显示为灰色。并且取消不起作用。使用不同的编译器有效! “终止进程”是终止构建的唯一方法。

将程序剥离到最低限度表明了真正的问题。那里引用的 DLL 挂起构建。编译 DLL 并重新引用它们解决了这个问题。


A
Abhay Dixit

有时这个问题也会出现在 VS2015 中。遵循相同的过程(终止过程)也可以在这里工作。


R
Ryan

我在VS2015中出现了这个问题。您可以在不关闭 Visual Studio 的情况下专门终止 MSBuild.exe 进程。


N
Nathan Scott

我今天在使用 VS2019 (16.4.2) 时遇到了这个问题。在我的情况下,我开始发布 - 这是一个数据库项目 - 并改变了主意,因此使用 Ctrl+Break 取消了发布。构建显示为已成功完成,并且发布没有开始。 Publish 显示为灰色,由于此错误,我无法退出 VS。我没有运行 msbuild 或 vbc 进程。我的解决方案是终止 devenv 进程。


S
Sergio

在 VS 2022 中仍然会发生。.Net 主机进程在构建具有版本冲突依赖项的项目时卡住了。解决这些冲突有助于并建立收益,但同样的问题是为什么 dotnet 进程会卡在上面。


这并没有真正回答这个问题。如果您有其他问题,可以点击 Ask Question 提出问题。要在此问题有新答案时收到通知,您可以follow this question。一旦你有足够的reputation,你也可以通过add a bounty来引起对这个问题的更多关注。 - From Review