Reputation: 1828
When executing the solution build as follows, multiple worker nodes are created and the process finishes in 2 mins.
MSBuild.exe path\to.sln /p:OutDir=C:\out\ -m:4 /p:Configuration=QA /p:Platform="Any CPU"
However, when attempting to execute the SLN with specific targets (T1,T2,T3), these are built in series rather than parallel. Only the main msbuild.exe node is created; no workers
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"
Despite the -m:6 parameter, only a single worker node is created; the process takes 2.5* longer to do the same thing.
Upvotes: 1
Views: 355
Reputation: 5801
according to my understanding, parallel msbuild is only for "msbuild core tasks". I mean, there is an msbuild basic tasks: restore, build, test etc', and these tasks can run parallel.
But msbuild not try to parallel the targets. In this case, msbuild will run them sequencely.
The targets do for cases like /t:Restore,Build,Test
, And it will never happen in parallel.
So, you can say this is limitation.
Upvotes: 1