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.
MSBuild-Server verbessert die Leistung von .NET Core-Builds, die aufgerufen werden, wenn Sie den Befehl dotnet build
in der .NET CLI unter Windows, Linux oder Mac in .NET Core-Buildumgebungen verwenden. Anstatt den Buildprozess jedes Mal zu starten, wenn ein Build angefordert wird, wird ein Großteil des Kontexts in einem zeitintensiven Prozess zwischengespeichert, sodass er beim nächsten Build wiederverwendet werden kann. MSBuild-Server ist für Visual Studio-Builds nicht relevant, da Visual Studio als Host für MSBuild fungiert und bereits den gesamten erforderlichen Kontext zwischenspeichert.
MSBuild-Server ist in CI-Szenarien wie Azure Pipeline-Builds im Allgemeinen nicht hilfreich, da Pipelines in der Regel bedarfsgesteuert eine Buildumgebung für jeden Build bereitstellen und diese dann verwerfen, nachdem der Build abgeschlossen ist.
Aktivieren von MSBuild-Server
MSBuild-Server ist standardmäßig nicht aktiviert. Für die Aktivierung legen Sie die Umgebungsvariable DOTNET_CLI_USE_MSBUILD_SERVER
auf true
oder 1
fest.
Nach der Aktivierung wird der Buildserver gestartet, wenn Sie zum ersten Mal einen neuen Buildprozess initiieren. Wenn Sie den ersten Build starten, wird dann der Cache aktiviert. Der Cache wird nach Abschluss des ersten Builds beibehalten. Der zweite Build wird daher schneller ausgeführt, da die Startzeit aufgrund der zwischengespeicherten Informationen deutlich verkürzt wird. Der Cache bleibt nach Abschluss des Builds erhalten, wird aber nach einer Leerlaufzeit von 15 Minuten verworfen. Er eignet sich daher in erster Linie in Szenarien, in denen viele Builds in enger Folge angefordert werden.
Herunterfahren oder Deaktivieren von MSBuild-Server
Es gibt einige unterschiedliche Möglichkeiten, die Verwendung von MSBuild-Servern zu deaktivieren. Wenn Sie nur den ausgeführten Server herunterfahren möchten, können Sie den Befehl dotnet build-server shutdown
ausführen.
Um das Feature für alle Builds auf einem Computer zu deaktivieren, legen Sie die Systemumgebungsvariable DOTNET_CLI_USE_MSBUILD_SERVER
auf 0
oder false
fest. Sie können diese Variable auch projektweise in einem Tool wie VS Code in der Datei launch.json
festlegen.
Um MSBuild-Server für einen bestimmten Aufruf eines Befehlszeilenbuilds zu deaktivieren, können Sie die Option /nr:false
(oder /node-reuse:false
) verwenden.
Um das Feature vollständig zu deaktivieren, können Sie die Änderungswelle deaktivieren, die es aktiviert hat: SET MSBuildDisableFeaturesFromVersion="17.4"
. Dadurch wurden auch andere Features derselben Änderungswelle deaktiviert. Weitere Informationen zu Änderungswellen finden Sie unter MSBuild-Änderungswellen.
Ermitteln des aktuellen Status des Buildservers
Sie können den Prozessstatus auf dem Computer anzeigen und nach MSBuild-Serverprozessen suchen. MSBuild-Serverprozesse werden mit dotnet.exe
gestartet und enthalten einen Pfad zur Datei „MSBuild.dll“ sowie die Befehlsoption /nodemode:8
. Dabei gibt 8
den MSBuild-Server an (/nodemode:1
gibt die normalen MSBuild-Workerknoten an).