在第一次编译时停止解决方案构建链接错误- msbuild



我正在使用VS2013的MSBuild编译许多项目的解决方案。如果其中一个项目未能编译,我希望构建停止,并且msbuild的错误代码将是非零的,以指示某些事情已经失败。这能做到吗?

我正在运行这个命令来开始编译:

% % workarea % WindowsSolution MS_BUILD_PATH %"。sln"/p:Configuration=Release/p:ContinueOnError=false/p:StopOnFirstFailure=true

但是它不像我想要的那样工作。有什么建议吗?

如果有人还在Visual Studio中寻找这个功能,有一个名为[VSColorOutput]的免费扩展(在这里),它有一个选项,可以在第一次构建错误时停止构建。一旦你安装了扩展,选项位于:Tools.Options.VSColorOutput.Build Actions.Stop Build On First Error

官方文件显示StopOnFirstFailure: If true, when one of the projects fails to build, no more projects will be built. Currently this is not supported when building in parallel (with multiple processors).

你可以尝试设置BuildInParallel=false,看看是否有帮助?

编辑:发现一篇旧的博客文章说,如果你正在用多个项目构建一个。sln,这可能很容易做到http://blogs.msdn.com/b/manishagarwal/archive/2006/05/09/593392.aspx

我使用StopOnFirstBuildError

https://marketplace.visualstudio.com/items?itemName=EinarEgilsson.StopOnFirstBuildError

它在任何项目构建失败时停止构建。我用的是2015年。链接的页面说它可以在Visual Studio 2012、2013、2015和2017中使用。

最新更新