Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Um mehrere Projekte schneller zu erstellen, können Sie MSBuild verwenden, um Builds parallel auszuführen. Verwenden Sie dazu die folgenden Einstellungen auf Multi-Core- oder mehreren Prozessorcomputern:
Legen Sie den
-maxcpucountSchalter fest, wenn Sie MSBuild an einer Eingabeaufforderung ausführen.Legen Sie den Wert des Vorgangsparameters BuildInParallel für Ihre MSBuild-Aufgabe auf
truefest.
Hinweis
Die Buildleistung kann sinken, wenn Sie den -verbosity (-v) Schalter verwenden, um die Ausführlichkeit Ihrer Buildprotokollinformationen auf detaillierte oder diagnostische Informationen festzulegen. Dieser Schalter wird häufig für die Problembehandlung verwendet. Weitere Informationen finden Sie unter Abrufen von Buildprotokollen mit MSBuild - und MSBuild-Befehlszeilenreferenz.
-maxcpucount MSBuild-Schalter
Wenn Sie den -maxcpucount (-m) Switch verwenden, erstellt MSBuild die angegebene Anzahl von MSBuild.exe Prozessen, die parallel ausgeführt werden können. Diese Prozesse werden auch als Arbeitsprozesse bezeichnet. Jeder Arbeitsprozess verwendet einen separaten Kern oder Prozessor, falls vorhanden, um ein Projekt gleichzeitig zu erstellen, wie andere verfügbare Prozessoren andere Projekte erstellen können.
Wenn Sie diesen Switch beispielsweise auf einen Wert 4 festlegen, der bewirkt, dass MSBuild vier Arbeitsprozesse erstellt, um das Projekt zu erstellen.
Wenn Sie den -maxcpucount Switch ohne Angabe eines Werts einschließen, verwendet MSBuild bis zur Anzahl der Prozessoren auf dem Computer.
Weitere Informationen zu diesem Switch finden Sie unter MSBuild-Befehlszeilenreferenz.
Im folgenden Beispiel wird MSBuild angewiesen, drei Arbeitsprozesse zu verwenden. Mit dieser Konfiguration kann MSBuild drei Projekte gleichzeitig erstellen.
msbuild.exe myproj.proj -maxcpucount:3
BuildInParallel MSBuild-Aufgabenparameter
BuildInParallel ist ein optionaler boolescher Parameter, den Sie für Ihre MSBuild-Aufgabe festlegen können. Wenn Sie BuildInParallel auf true (Standardwert) festlegen, werden mehrere Worker-Prozesse generiert, um so viele Projekte gleichzeitig wie möglich zu erstellen. Damit dieser Parameter ordnungsgemäß funktioniert, stellen Sie den Schalter auf einen Wert größer als eins.
Wenn Sie MSBuild verwenden, um parallel zu erstellen, funktioniert es nur für einen einzelnen Aufruf der MSBuild-Aufgabe. Wenn Sie die Aufgabenbatchierung aufrufen, ist die Parallelität daher auf jeden Batch beschränkt. Weitere Informationen finden Sie unter MSBuild-Batchverarbeitung.
Die folgenden Beispiele zeigen, wie Sie ein Ziel in einer Projektdatei mit mehreren verschiedenen Eigenschaftswerten parallel mithilfe des BuildInParallel Parameters erstellen.
In diesem Beispiel weist die Projektdatei do_it.proj ein Ziel auf, das für jedes Element SourceValueeine andere Nachricht druckt.
<Project>
<Target Name="DoIt">
<Message Text="For this invocation SourceValue='$(SourceValue)'" Importance="High" />
</Target>
</Project>
Das folgende Projekt erstellt ein angegebenes Ziel-DoIt in einem Projekt mit dem Namen do_it.proj parallel, wobei die Elementliste und AdditionalProperties Metadaten verwendet werden, um unterschiedliche Werte der Eigenschaft SourceValueanzugeben.
<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>