按如下所示执行解决方案构建时,将创建多个工作程序节点,并且该过程将在2分钟内完成。
MSBuild.exe路径\ to.sln / p:OutDir = C:\ out \ -m:4 / p:Configuration = QA / p:Platform =“任何CPU”
但是,当尝试对特定目标(T1,T2,T3)执行SLN时,这些目标是以系列而不是 parallel 构建的。仅创建了主要的msbuild.exe节点。没有工人
MSBuild.exe -target:Deployment \ T1 -target:Deployment \ T2 -target:Deployment \ T3 path \ to.sln / p:OutDir = C:\ out \ -m:6 / p:Configuration = QA / p:Platform =“ Any CPU”
尽管使用-m:6参数,但仅创建了一个工作节点;同一过程将花费2.5倍的时间。
答案 0 :(得分:1)
据我了解,并行msbuild仅适用于“ msbuild核心任务”。我的意思是,有一个msbuild基本任务:还原,构建,测试等,这些任务可以并行运行。
但是msbuild不会尝试并行化目标。在这种情况下,msbuild将按顺序运行它们。
目标适用于/t:Restore,Build,Test
之类的情况,并且永远不会并行发生。
因此,您可以说这是限制。