gpt4 book ai didi

visual-studio - 为什么使用 msbuild 构建项目比使用 visual studio IDE 慢得多?

转载 作者:行者123 更新时间:2023-12-05 04:07:42 24 4
gpt4 key购买 nike

我正在尝试使用 msbuild 通过命令行构建 visual studio 项目。我使用了这个命令

SET VCTargetsPath=C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120
msbuild.exe ../../../embedded/ports/visualC12/config-from-host.vcxproj
/p:Configuration=Release /p:Platform=Win32 /t:rebuild

使用 IDE:大约需要 2 分钟使用 cmdline:大约需要 20 分钟

在命令行中看起来它构建了很多不是在 IDE 中构建的项目有什么建议吗?

最佳答案

In command line it looks like it build a lot of projects that are not built in the IDE Any suggestions?

那是因为您在命令中使用了属性 /t:rebuild

This switch performs与集成开发环境 (IDE) 中的 Rebuild Solution 菜单命令功能相同 - 将清理并从头开始构建解决方案,忽略之前完成的任何操作。因此 MSBuild 将构建所有项目,无论它们之前是否构建过。

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

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

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

enter image description here

MSBuild 命令行也支持并行,/maxcpucount Switch

msbuild.exe myproj.proj /maxcpucount:3 

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

希望这对您有所帮助。

关于visual-studio - 为什么使用 msbuild 构建项目比使用 visual studio IDE 慢得多?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48405844/

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