使用devenv.exe在第一次编译错误时自动停止Visual C ++ 2008命令行批量生成?

时间:2010-12-17 00:21:06

标签: msbuild devenv

我有一个与Automatically stop Visual C++ 2008 build at first compile error中给出的类似的问题,但特别是在命令行中使用devenv.exe someproject.sln /build Release /project flubber等命令行进行构建。我希望构建停止在第一个错误。宏解决方案是否也可以在命令行中运行,还是只能在IDE中运行?我的猜测是它只适用于IDE。

如果是这种情况,那么有没有办法干净地完成这项工作,这样我构建的项目继续与devenv.exe命令行界面相同的构建(即使它意味着使用{{1 }})?

我扫描的其他页面,但似乎没有回答这个问题:

  1. How to Automatically Stop a Visual Studio Build on an Error
  2. Customize Your Project Build Process
  3. Visual Studio - Stopping a Multi-Project build at the first compile error

1 个答案:

答案 0 :(得分:2)

链接的宏解决方案肯定只在完整IDE打开时才能工作,因为它依赖于检查输出窗口。此外,使用devenv.exe从命令行构建将只在内部使用MSBuild,所以基本上你需要一个解决方案,告诉MSBuild在第一次失败时停止。不幸的是,从解决方案文件构建时,没有简单的方法可以做到这一点。 MSBuild有StopOnFirstFailure属性,但它不是work as expected with multiple projects within a solution

你最好的选择是提到here。基本上,您需要将* .sln转换为* .proj并将RunEachTargetSeparately设置为false。唯一不确定的是,这可能不适用于Visual C ++ 2008,因为它仍然在内部使用VCBuild而不是像Visual Studio 2010那样使用100%MSBuild。