Visual Studio 2017 命令行构建速度低于 IDE

Visual Studio 2017 Command Line build slower than IDE

当我从命令行 (cmd) 运行 Visual Studio 2017 构建时,构建速度几乎比 IDE 中的构建慢 3 倍。

命令行:

C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\devenv.com My_Project.sln /Project My_Solution /Rebuild Release  

我正在设置一个持续集成系统 (GitLab),我希望编译器 运行 在开发人员推送提交之前。缓慢的命令行构建将阻止开发人员使用 CI 系统。

我正在寻找加速命令行构建过程的技术,最好是更快或等于从 IDE 构建时的速度。

环境:

/Rebuild此开关执行与集成开发环境 (IDE) 中的“重建解决方案”菜单命令相同的功能 - 将清理并从头开始构建解决方案,忽略之前完成的任何操作.

当您在 IDE 中使用构建选项而不是 Rebuild 构建项目时,它将执行增量构建:如果它认为不需要重建项目,则不会。如果它们没有改变,它也可以使用项目的部分构建部分。这就是许多项目在命令行中构建但未在 IDE.

中构建的原因

为了加快构建速度,您可以在命令行中将 属性 更改为 /t:build 或在 IDE 中构建时将重建选项更改为 select。

另外,影响构建速度的因素还有很多,比如并行。当我们在IDE中构建多个项目时,parallel的默认值为8,Tools->options->Projects and Solutions->Build and 运行:

所以当你比较命令行和IDE之间的构建速度时,你必须确保命令行和IDE的所有相关设置都相同。