Równoległe tworzenie wielu projektów za pomocą narzędzia MSBuild
MSBuild służy do tworzenia wielu projektów szybciej uruchamiając je równolegle.Aby uruchomić buduje równolegle, użyj następujących ustawień na wielordzeniowy lub wielu procesora komputera:
/maxcpucount Przełączyć się w wierszu polecenia.
BuildInParallel Parametrem zadania w zadanie programu MSBuild.
[!UWAGA]
/verbosity (/v) Przełącznik w wierszu polecenia, może również wpływać na wydajność kompilacji.Jeśli poziom szczegółowości informacji dziennika kompilacji jest zestaw szczegółowej lub diagnostycznych, które służą do rozwiązywania problemów, może spaść wydajność kompilacji.Aby uzyskać więcej informacji, zobacz Uzyskiwanie dzienników kompilacji za pomocą narzędzia MSBuild i Informacje w wierszu polecenia programu MSBuild.
Przełącznik /maxcpucount
Klienci korzystający z /maxcpucount przełączyć, lub /m za krótki, MSBuild można utworzyć określoną liczbę procesów MSBuild.exe, które mogą być uruchamiane równolegle. Procesy te są nazywane także "procesy". Każdy proces roboczy używa oddzielnych core lub procesor, jeśli takie są dostępne zbudować projekt w tym samym czasie, o innych dostępnych procesorów może być zdobycie innych projektów.Na przykład, ustawienie tego parametru na wartość "4" powoduje, że MSBuild Aby utworzyć cztery procesów roboczych do budowania projektu.
Jeśli dołączysz /maxcpucount przełącznika bez określenia wartości, program MSBuild zużywa do liczby procesorów w komputerze.
Aby uzyskać więcej informacji na temat tego przełącznika, który został wprowadzony w MSBuild 3.5, zobacz Informacje w wierszu polecenia programu MSBuild.
Poniższy przykład powoduje, że program MSBuild używać trzech procesów roboczych.Jeśli używana jest ta konfiguracja, program MSBuild stworzyć trzech projektów w tym samym czasie.
C:\WINDOWS\Microsoft.NET\Framework\v3.5>msbuild.exe myproj.proj /maxcpucount:3
Parametr BuildInParallel zadań
BuildInParallelto parametr opcjonalny, boolean na MSBuild zadania.Gdy BuildInParallel jest ustawiona na true (wartość domyślną) wiele procesów roboczych są generowane zbudować dowolną liczbę projektów, w tym samym czasie, jak to możliwe.Aby to działało poprawnie /maxcpucount przełącznik musi być ustawiona na wartość większą niż 1, a system muszą być co najmniej dwurdzeniowy lub mają dwa lub większą liczbę procesorów.
Oto przykład, pobranych z microsoft.common.targets o BuildInParallel parametru.
<PropertyGroup>
<BuildInParallel Condition="'$(BuildInParallel)' ==
''">true</BuildInParallel>
</PropertyGroup>
<MSBuild
Projects="@(_MSBuildProjectReferenceExistent)"
Targets="GetTargetPath"
BuildInParallel="$(BuildInParallel)"
Properties="%(_MSBuildProjectReferenceExistent.SetConfiguration);
%(_MSBuildProjectReferenceExistent.SetPlatform)"
Condition="'@(NonVCProjectReference)'!='' and
('$(BuildingSolutionFile)' == 'true' or
'$(BuildingInsideVisualStudio)' == 'true' or
'$(BuildProjectReferences)' != 'true') and
'@(_MSBuildProjectReferenceExistent)' != ''"
ContinueOnError="!$(BuildingProject)">
<Output TaskParameter="TargetOutputs"
ItemName="_ResolvedProjectReferencePaths"/>
</MSBuild>
Zobacz też
Koncepcje
Do tworzenia projektów przy użyciu wielu procesorów
Rejestratory wieloprocesorowych-Processor-Aware pisania