Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u sneller meerdere projecten wilt bouwen, kunt u MSBuild gebruiken om builds parallel uit te voeren. Gebruik hiervoor de volgende instellingen op computers met meerdere kernen of meerdere processorcomputers:
Stel de
-maxcpucountswitch in wanneer u MSBuild uitvoert bij een opdrachtprompt.Stel de BuildInParallel taakparameter in
trueop uw MSBuild-taak.
Opmerking
De buildprestaties kunnen afnemen als u de -verbosity (-v) switch gebruikt om de uitgebreidheid van uw buildlogboekgegevens in te stellen op gedetailleerde of diagnostische gegevens. Deze switch wordt vaak gebruikt voor het oplossen van problemen. Voor meer informatie, zie Build-logboeken verkrijgen met MSBuild en referentie voor de opdrachtregel van MSBuild.
-maxcpucount MSBuild-schakelaar
Als u de -maxcpucount (-m) switch gebruikt, maakt MSBuild het opgegeven aantal MSBuild.exe processen dat parallel kan worden uitgevoerd. Deze processen worden ook wel werkprocessen genoemd. Elk werkproces maakt gebruik van een afzonderlijke kern of processor, indien beschikbaar, voor het bouwen van een project op hetzelfde moment als andere beschikbare processors.
Als u deze switch bijvoorbeeld instelt op een waarde waarvan 4 MSBuild vier werkprocessen maakt om het project te bouwen.
Als u de -maxcpucount switch opneemt zonder een waarde op te geven, gebruikt MSBuild maximaal het aantal processors op de computer.
Zie MSBuild-opdrachtregelverwijzing voor meer informatie over deze switch.
In het volgende voorbeeld wordt MSBuild geïnstrueerd om drie werkprocessen te gebruiken. Met deze configuratie kan MSBuild drie projecten tegelijk bouwen.
msbuild.exe myproj.proj -maxcpucount:3
BuildInParallel MSBuild-taakparameter
BuildInParallel is een optionele booleaanse parameter die u kunt instellen voor uw MSBuild-taak. Wanneer u instelt BuildInParallel op true (standaardwaarde), worden er meerdere werkprocessen gegenereerd om zoveel mogelijk projecten tegelijk te bouwen. Als deze parameter correct werkt, stelt u de -maxcpucount schakeloptie in op een waarde die groter is dan één.
Wanneer u MSBuild gebruikt om parallel te bouwen, werkt dit alleen voor één aanroep van de MSBuild-taak. Als u taakbatches aanroept, is de parallelle uitvoering daarom beperkt tot elke batch. Zie MSBuild batching voor meer informatie.
In de volgende voorbeelden ziet u hoe u een doel maakt in een projectbestand met meerdere verschillende eigenschapswaarden parallel met behulp van de BuildInParallel parameter.
In dit voorbeeld heeft het projectbestand do_it.proj een doel waarmee een ander bericht voor elk SourceValuebestand wordt afgedrukt.
<Project>
<Target Name="DoIt">
<Message Text="For this invocation SourceValue='$(SourceValue)'" Importance="High" />
</Target>
</Project>
Het volgende project bouwt parallel een opgegeven doel DoIt in een project met de naam do_it.proj, met behulp van de itemlijst en AdditionalProperties metagegevens om verschillende waarden van de eigenschap SourceValue op te geven.
<Project>
<ItemGroup>
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test1" />
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test2" />
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test3" />
<_Project Include="do_it.proj" AdditionalProperties="SourceValue=Test4" />
</ItemGroup>
<Target Name="Build">
<MSBuild Projects="@(_Project)" Targets="DoIt" BuildInParallel="true" />
</Target>
</Project>