gpt4 book ai didi

visual-studio - 将 IncrediBuild 与 DevEnv.exe 与 MSBuild.exe 结合使用

转载 作者:行者123 更新时间:2023-12-04 03:34:49 24 4
gpt4 key购买 nike

我使用 Xorax IncrediBuild 构建 Visual Studio 2013 (或更高版本)解决方案和项目,它们主要是 .vcxproj带着一堆.csproj那些。

我花了一点时间挖掘,但我了解到:

  • 当 IncrediBuild 与常规 Visual Studio 一起使用时,it uses the Devenv.exe by default .
  • 从 5.0 版开始,BuildConsole.exe支持新开关:/UseMSBuildspecifically instruct IncrediBuild to use MSBuild's build engine instead of the default Visual Studio's DevEnv .

  • 因此,对于 Visual Studio 项目,有两种模式可用:
  • BuildConsole.exe MyProj.vcxproj使用 DevEnv.exe
  • BuildConsole.exe MyProj.vcxproj /usemsbuild使用 MSBuild.exe

  • 我想知道是否有 任何差异在使用两个引擎之间。

    我做了一些测试并观察到:
  • IncrediBuild“正在初始化...”阶段在 DevEnv.exe 的情况下需要稍长的时间.
  • BuildConsole.exe显然,产生不同的输出。
  • 构建性能没有(或微不足道的)差异。

  • 如果构建单独的 C/C++ 原生项目 ( .vcxproj ) 以及整个解决方案 ( .sln ), 优缺点是什么使用 DevEnv.exeMSBuild.exe ?

    最佳答案

    ** 免责声明:我在 IncrediBuild 工作 **

    我们已与 Microsoft 共同确定,为了获得与在 Visual Studio 中构建行为相同的构建(不使用 IncrediBuild),应该使用 DevEnv。 MSBuild 执行构建的方式与 VS 略有不同,无论是在它生成的构建输出上,还是在执行自定义步骤和其他一些小事情时的行为方式上。如果用户希望 IncrediBuild 构建的行为方式与他从 Visual Studio 构建时习惯的方式相同,则应使用默认方式(IncrediBuild 执行 DevEnv)。如果用户习惯于使用 MSBuild 执行其构建,无论是从命令行还是通过 TFS,都应使用 UseMSBuild 开关。我们希望允许用户根据他们习惯的方式来选择他们希望 IncrediBuild 的工作方式,就像 Microsoft 支持 DevEnv 和 MSBuild 一样。

    补充评论:

  • 使用 Devenv 时,初始化阶段确实更长,因为 devenv 以与 msbuild 不同的方式加载和解析解决方案和 .vcxproj 文件。解决方案的项目越多——这个阶段需要的时间越长。当同时构建多个项目时,完成此阶段所需时间的增加通常会被实际构建时间的速度增加大大抵消。
  • Devenv 强烈推荐用于我们的预测执行功能,由于上述工作方式,它可以提供高达 20% 的额外构建加速,而使用 MSBuild 是不可能的。
  • 关于visual-studio - 将 IncrediBuild 与 DevEnv.exe 与 MSBuild.exe 结合使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31582932/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com