MSBuild-Befehlszeilenreferenz
Wenn Sie mithilfe von MSBUILD.EXE ein Projekt oder eine Projektmappendatei erstellen, können Sie diverse Schalter verwenden, um verschiedene Aspekte des Prozesses festzulegen.
MSBuild.exe [Switches] [ProjectFile]
Argumente
Argument |
Beschreibung |
---|---|
ProjectFile |
Erstellt die Ziele in der von Ihnen angegebenen Projektdatei. Wenn Sie keine Projektdatei angeben, durchsucht MSBuild das aktuelle Arbeitsverzeichnis nach einer Dateinamenerweiterung, die mit "proj" endet, und verwendet diese. Sie können hier auch eine Visual Studio-Projektmappendatei als Argument angeben. |
Schalter
Schalter |
Kurzform |
Beschreibung |
---|---|---|
/help |
/? oder /h |
Zeigt Nutzungsinformationen an. Der folgende Befehl ist ein Beispiel: msbuild.exe /? |
/detailedsummary |
/ds |
Zeigt am Ende des Buildprotokolls ausführliche Informationen zu den erstellten Konfigurationen und deren Planung in Knoten an. |
/ignoreprojectextensions: extensions |
/ignore: extensions |
Ignoriert beim Bestimmen der zu erstellenden Projektdatei die angegebenen Erweiterungen. Mehrere Erweiterungen werden mit einem Semikolon oder einem Komma getrennt, wie im folgenden Beispiel gezeigt: /ignoreprojectextensions:.vcproj,.sln |
/maxcpucount[:number] |
/m[:number] |
Gibt die maximale Anzahl gleichzeitiger Prozesse beim Buildvorgang an. Wenn Sie diesen Schalter nicht angeben, wird der Standardwert 1 verwendet. Wenn Sie diesen Schalter ohne Angabe eines Werts verwenden, nutzt MSBuild alle Prozessoren des Computers. Weitere Informationen finden Sie unter Paralleles Erstellen von mehreren Projekten mit MSBuild. Im folgenden Beispiel wird MSBuild angewiesen, drei MSBuild-Prozesse für Buildvorgänge zu nutzen, sodass drei Projekte gleichzeitig erstellt werden können: msbuild myproject.proj /maxcpucount:3 |
/noautoresponse |
/noautorsp |
Es werden keine MSBUILD.RSP-Dateien automatisch eingeschlossen. |
/nodeReuse:value |
/nr:value |
Aktiviert oder deaktiviert die Wiederverwendung von MSBuild-Knoten. Sie können folgende Werte angeben:
Ein Knoten entspricht einem Projekt, das ausgeführt wird. Wenn Sie den Schalter /maxcpucount angeben, können mehrere Knoten gleichzeitig ausgeführt werden. |
/nologo |
Unterdrückt die Anzeige von Startbanner und Copyrightmeldung. |
|
/preprocess[:filepath] |
/pp[:filepath] |
Erstellt eine einzelne, aggregierte Projektdatei durch Einbeziehen ("Inlining") sämtlicher Dateien, die während eines Builds importiert werden, unter Angabe ihrer Grenzen. Mithilfe dieses Schalters können Sie leichter feststellen, welche Dateien importiert werden, woher diese Dateien importiert werden und welche Dateien an dem Buildvorgang beteiligt sind. Wenn Sie diesen Schalter verwenden, wird das Projekt nicht erstellt. Wenn Sie einen filepath angeben, wird die aggregierte Projektdatei in die Datei ausgegeben. Andernfalls wird die Ausgabe im Konsolenfenster angezeigt. Wie Sie mithilfe des Import-Elements eine Projektdatei in eine andere Projektdatei einfügen können, wird unter Import-Element (MSBuild) und Gewusst wie: Verwenden eines Ziels in mehreren Projektdateien erklärt. |
/property:name=value |
/p:name=value |
Dient zum Festlegen oder Überschreiben der angegebenen Eigenschaften auf Projektebene. Dabei ist name der Name und value der Wert der Eigenschaft. Geben Sie jede Eigenschaft einzeln an oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Eigenschaften zu trennen (siehe Beispiel): /property:WarningLevel=2;OutDir=bin\Debug |
/target:targets |
/t:targets |
Erstellt die angegebenen Ziele im Projekt. Geben Sie jedes Ziel einzeln an oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Ziele zu trennen (siehe Beispiel): /target:Resources;Compile Wenn Sie über diesen Schalter Ziele angeben, werden diese anstelle der im DefaultTargets-Attribut in der Projektdatei angegebenen Ziele ausgeführt. Weitere Informationen finden Sie unter Buildreihenfolge für Ziele und Gewusst wie: Angeben des zuerst zu erstellenden Ziels. Als Ziel wird eine Gruppe von Aufgaben bezeichnet. Weitere Informationen finden Sie unter MSBuild-Ziele. |
/toolsversion:version |
/tv:version |
Gibt die Version des Toolsets an, mit dem das Projekt erstellt werden soll, wie zum Beispiel: /toolsversion:3.5 Wenn Sie diesen Schalter verwenden, können Sie ein Projekt mit einer anderen Version als der im Project-Element (MSBuild) festgelegten erstellen. Weitere Informationen finden Sie unter Überschreiben von ToolsVersion-Einstellungen. Bei MSBuild 4.5 können Sie für version die folgenden Werte angeben: 2.0, 3.5 und 4.0. Wenn Sie 4.0 angeben, gibt die Buildeigenschaft VisualStudioVersion an, welches Unter-Toolset verwendet werden soll. Weitere Informationen finden Sie im Abschnitt zu Unter-Toolsets unter MSBuild-Toolset (ToolsVersion). Ein Toolset besteht aus Aufgaben, Zielen und Tools, die beim Erstellen einer Anwendung verwendet werden. Zu den Tools zählen Compiler wie "csc.exe" und "vbc.exe". Weitere Informationen zu Toolsets finden Sie unter MSBuild-Toolset (ToolsVersion), Standardmäßige und benutzerdefinierte Toolsetkonfigurationen und Übersicht über die Festlegung von Zielversionen mit MSBuild. Hinweis Die Toolsetversion ist nicht das gleiche wie das Zielframework – dieses ist die Version von .NET Framework, auf der das zu erstellende Projekt ausgeführt werden soll.Weitere Informationen finden Sie unter MSBuild-Zielframework und -Zielplattform. |
/validate:[schema] |
/val[schema] |
Überprüft die Projektdatei und erstellt bei erfolgreicher Überprüfung das Projekt. Wenn Sie schema nicht angeben, wird das Projekt anhand des Standardschemas überprüft. Wenn Sie schema angeben, wird das Projekt anhand des angegebenen Schemas überprüft. Die folgende Einstellung ist ein Beispiel: /validate:MyExtendedBuildSchema.xsd |
/verbosity:level |
/v:level |
Gibt den Umfang an Informationen an, die im Buildprotokoll angezeigt werden sollen. Jede Protokollierung zeigt Ereignisse gemäß des Ausführlichkeitsgrads an, den Sie für diese Protokollierung festlegen. Für den Ausführlichkeitsgrad können Sie die folgenden Werte angeben: q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. Die folgende Einstellung ist ein Beispiel: /verbosity:quiet |
/version |
/ver |
Zeigt nur Versionsinformationen an. Das Projekt wird nicht erstellt. |
@file |
Fügt Befehlszeilenschalter aus einer Textdatei ein. Wenn Sie mehrere Dateien haben, müssen Sie diese separat angeben. Weitere Informationen finden Sie unter MSBuild-Antwortdateien. |
Schalter für Protokollierungen
Schalter |
Kurzform |
Beschreibung |
---|---|---|
/consoleloggerparameters: parameters |
/clp:parameters |
Übergibt die angegebenen Parameter an die Konsolenprotokollierung, die Buildinformationen im Konsolenfenster anzeigt. Sie können die folgenden Parameter angeben:
Mehrere Parameter sind mit einem Semikolon oder Komma zu trennen, wie im folgenden Beispiel gezeigt: /consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal |
/distributedFileLogger |
/dfl |
Protokolliert die Buildausgabe jedes MSBuild-Knotens in dessen eigene Datei. In der Standardeinstellung werden diese Dateien im aktuellen Verzeichnis gespeichert. Die Namen der Dateien lauten standardmäßig "MSBuildKnotenId.log". Sie können den /fileLoggerParameters-Schalter verwenden, um den Speicherort der Dateien und andere Parameter für "fileLogger" anzugeben. Wenn Sie eine Protokolldatei mithilfe des /fileLoggerParameters-Schalters benennen, wird die verteilte Protokollierung diesen Namen als Vorlage verwenden und ihm die Knoten-ID anhängen, wenn sie eine Protokolldatei für jeden Knoten erstellt. |
/distributedlogger: central logger* forwarding logger |
/dl:central logger*forwarding logger |
Protokolliert Ereignisse von MSBuild und hängt an jeden Knoten eine andere Protokollierungsinstanz an. Wenn Sie mehrere Protokollierungen angeben möchten, müssen Sie jede Protokollierung einzeln angeben. Zum Angeben einer Protokollierung verwenden Sie die Protokollierungssyntax. Informationen zur Protokollierungssyntax finden Sie weiter unten beim Schalter /logger. Das folgende Beispiel zeigt, wie dieser Schalter verwendet wird: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/fileLogger [Nummer] |
/fl[number] |
Protokolliert die Buildausgabe in einer einzelnen Datei im aktuellen Verzeichnis. Wenn Sie number nicht angeben, erhält die Ausgabedatei den Namen MSBUILD.LOG. Wenn Sie number angeben, erhält die Ausgabedatei den Namen MSBUILDn.LOG (wobei "n" für die in number angegebene Nummer steht). Number kann eine Ziffer von 1 bis 9 sein. Sie können den Schalter /fileLoggerParameters verwenden, um den Speicherort der Datei und andere Parameter für "fileLogger" anzugeben. |
/fileloggerparameters:[Zahl] parameters |
/flp:[ number] parameters |
Dient zur Angabe aller sonstigen Parameter für die Dateiprotokollierung und die verteilte Dateiprotokollierung. Bei Angabe dieses Schalters wird davon ausgegangen, dass der zugehörige /filelogger[number]-Schalter vorhanden ist. Number kann eine Ziffer von 1 bis 9 sein. Sie können alle Parameter verwenden, die für /consoleloggerparameters aufgeführt sind. Sie können auch einen oder mehrere der folgenden Parameter verwenden:
Das folgende Beispiel generiert separate Protokolldateien für Warnungen und Fehler: /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Die folgenden Beispiele zeigen weitere Möglichkeiten: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8 /flp:Summary;Verbosity=minimal;LogFile=msbuild.sum /flp1:warningsonly;logfile=msbuild.wrn /flp2:errorsonly;logfile=msbuild.err |
/logger: logger |
/l:logger |
Gibt die Protokollierung an, mit der Ereignisse aus MSBuild protokolliert werden sollen. Wenn Sie mehrere Protokollierungen angeben möchten, müssen Sie jede Protokollierung einzeln angeben. Verwenden Sie bei logger die folgende Syntax: [LoggerClass,]LoggerAssembly[;LoggerParameters] Verwenden Sie bei LoggerClass die folgende Syntax: [PartialOrFullNamespace.]LoggerClassName Wenn die Assembly genau eine Protokollierung enthält, muss die Protokollierungsklasse nicht angegeben werden. Verwenden Sie bei LoggerAssembly die folgende Syntax: {AssemblyName[,StrongName] | AssemblyFile} Protokollierungsparameter sind optional und werden so an die Protokollierung übergeben, wie Sie sie eingegeben würden. In den folgenden Beispielen wird der /logger-Schalter verwendet. /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/noconsolelogger |
/noconlog |
Deaktiviert die standardmäßige Konsolenprotokollierung und protokolliert keine Ereignisse in der Konsole. |
Beispiel
Im folgenden Beispiel wird das Ziel rebuild des Projekts MyProject.proj erstellt.
MSBuild.exe MyProject.proj /t:rebuild
Mit MSBUILD.EXE sind auch komplexere Builds möglich. So können Sie das Tool zum Beispiel verwenden, um bestimmte Ziele von bestimmten Projekten in einer Projektmappe zu erstellen. Im folgenden Beispiel wird das Projekt NotInSolutionFolder neu erstellt, und das Projekt InSolutionFolder im NewFolder-Projektmappenordner wird gelöscht.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
Siehe auch
Referenz
Gemeinsame MSBuild-Projekteigenschaften