【问题标题】:Automatically stop Visual C++ 2008 command-line batch builds at first compile error using devenv.exe?首次使用 devenv.exe 编译错误时自动停止 Visual C++ 2008 命令行批处理构建?
【发布时间】:2011-05-26 21:14:05
【问题描述】:

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

如果是这种情况,那么有没有办法干净利落地做到这一点,这样我构建的项目继续构建与devenv.exe 命令行界面所做的相同(即使这意味着使用MSBuild)?

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

  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

【问题讨论】:

    标签: msbuild devenv


    【解决方案1】:

    链接的宏解决方案肯定只有在完整的 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。

    【讨论】:

    • 谢谢斯科特。我最终会调查你提到的“黑客”链接。
    猜你喜欢
    • 2010-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-15
    相关资源
    最近更新 更多