MSBuild-Befehlszeilenreferenz
MSBuild.exe erstellt die angegebene Projekt- oder Projektmappendatei mit den festgelegten Optionen.
MSBuild.exe [Switches] [ProjectFile]
Argumente
Argument |
Beschreibung |
---|---|
ProjectFile |
Erstellt die angegebenen Ziele in der Projektdatei. Wenn keine Projektdatei angegeben ist, durchsucht MSBuild das aktuelle Arbeitsverzeichnis nach einer Dateinamenerweiterung, die mit "proj" endet, und verwendet die entsprechende Datei. Dieses Argument akzeptiert auch Visual Studio 2005-Projektmappendateien. |
Schalter
Schalter |
Beschreibung |
---|---|
/help |
Zeigt Verwendungsinformationen an. /? oder /h können auch verwendet werden. Beispiele: Msbuild.exe /? |
/nologo |
Blendet das Startbanner und die Copyrightmeldung aus. |
/version |
Zeigt nur die Versionsinformationen an. /Ver kann auch verwendet werden. |
@file |
Fügt Befehlszeileneinstellungen aus einer Textdatei ein. Geben Sie jede Antwortdatei einzeln an. Weitere Informationen finden Sie unter MSBuild-Antwortdateien. |
/noautoresponse |
Schließt die Datei MSBuild.rsp nicht automatisch ein. /noautorsp kann auch verwendet werden. |
/target:targets |
Erstellt die Ziele in diesem Projekt. Verwenden Sie ein Semikolon oder ein Komma als Trennzeichen für mehrere Ziele, oder geben Sie jedes Ziel einzeln an. /t kann auch verwendet werden. Beispiel: /target:Resources;Compile |
/property:name=value |
Legt die Eigenschaften auf Projektebene fest oder überschreibt sie. Dabei ist name der Eigenschaftenname und value der Eigenschaftswert. Verwenden Sie ein Semikolon oder ein Komma als Trennzeichen für mehrere Eigenschaften, oder geben Sie jede Eigenschaft einzeln an. /p kann auch verwendet werden. Beispiel: /property:WarningLevel=2;OutputDir=bin\Debug |
/logger:logger |
Gibt die zu verwendende Protokollierung zum Protokollieren von Ereignissen aus MSBuild an. Wenn Sie mehrere Protokollierungen angeben möchten, geben Sie jede Protokollierung einzeln an. Die Protokollierungssyntax lautet: [LoggerClass,]LoggerAssembly[;LoggerParameters] Die LoggerClass-Syntax lautet: [PartialOrFullNamespace.]LoggerClassName
Hinweis
Die Protokollierungsklasse muss nicht angegeben werden, wenn in der Assembly genau eine Protokollierung vorhanden ist.
Die LoggerAssembly-Syntax lautet: {AssemblyName[,StrongName] | AssemblyFile} Protokollierungsparameter sind optional und werden so an die Protokollierung übergeben, wie sie eingegeben werden. Beispiel: /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/distributedlogger:<zentrale Protokollierung>*<Weiterleitungsprotokollierung> |
Verwenden Sie diese Protokollierung, um Ereignisse von MSBuild zu protokollieren. Wenn Sie mehrere Protokollierungen angeben möchten, geben Sie jede Protokollierung einzeln an. (Kurzform: /dl) Die <Protokollierungs>-Syntax lautet: [<Protokollierungsklasse>,]<Protokollierungsassembly>[;< Protokollierungsparameter>] Die Syntax der <Protokollierungsklasse> lautet: [<teilweiser oder voller Namespace>.]<Protokollierungsklassenname> Die Syntax der <Protokollierungsassembly> ist: {<Assemblyname>[,<starker Name>] | <Assemblydatei>} Die <Protokollierungsparameter> sind optional und werden so an die Protokollierung übergeben, wie sie eingegeben werden. (Kurzform: /l) Beispiele: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/consoleloggerparameters:parameters |
Gibt die Parameter an, die an die Konsolenprotokollierung übergeben werden. /clp kann auch verwendet werden. Die folgenden Parameter stehen zur Verfügung:
|
/verbosity:level |
Zeigt den Umfang der Informationen im Buildprotokoll an. Einzelne Protokollierungen zeigen Ereignisse anhand des Ausführlichkeitsgrads an. Eine Protokollierung kann so konfiguriert werden, dass die Einstellung für den Ausführlichkeitsgrad ignoriert wird. Die verfügbaren Ausführlichkeitsgrade lauten q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. /v kann auch verwendet werden. Beispiel: /verbosity:quiet |
/noconsolelogger |
Deaktiviert die Standardkonsolenprotokollierung und protokolliert keine Ereignisse in der Konsole. /noconlog kann auch verwendet werden. |
/validate:schema |
Validiert die Projektdatei, und erstellt bei erfolgreicher Validierung das Projekt. Überprüft das Projekt mit dem Standardschema, wenn schema nicht angegeben ist. Überprüft das Projekt mit dem festgelegten Schema, wenn schema angegeben ist. |
/maxcpucount:number |
Gibt die Anzahl der Arbeitsprozesse an, die zum Build gehören. Beispiel: C:\Windows\WinFX\v3.5>msbuild.exe *.proj /maxcpucount:3. In diesem Beispiel wird MSBuild angewiesen, für den Build drei MSBuild.exe-Prozesse zu verwenden. Auf diese Weise können drei Projekte gleichzeitig erstellt werden. /m kann auch verwendet werden. |
/ignoreprojectextensions:<Erweiterungen> |
Liste mit Erweiterungen, die beim Festlegen der zu erstellenden Projektdatei ignoriert werden. Trennen Sie mehrere Erweiterungen durch ein Semikolon oder ein Komma. (Kurzform: /ignore) Beispiel: /ignoreprojectextensions:.vcproj,.sln |
/fileLogger |
Protokolliert die Buildausgabe in einer einzelnen Datei ("msbuild.log") im aktuellen Verzeichnis. Der Speicherort der Datei und anderer Parameter für fileLogger können durch Hinzufügen des Schalters "/fileLoggerParameters" festgelegt werden. (Kurzform: /fl) |
/distributedFileLogger |
Protokolliert die Buildausgabe in mehrere Protokolldateien, wobei eine Protokolldatei pro MSBuild-Knoten verwendet wird. Der ursprüngliche Speicherort für diese Dateien ist das aktuelle Verzeichnis. Standardmäßig werden die Dateien "MSBuild<Knoten-ID>.log" genannt. Der Speicherort der Dateien und Parameter für fileLogger können durch Hinzufügen des Schalters "/fileLoggerParameters" festgelegt werden. Wenn ein Protokolldateiname durch den den fileLoggerParameters-Schalter festgelegt wurde, verwendet die verteilte Protokollierung fileName als Vorlage und erstellt für jeden Knoten eine Protokolldatei, indem sie die Knoten-ID an fileName anhängt. |
/fileloggerparameters:<Parameter> |
Gibt die Parameter für die Dateiprotokollierung und verteilte Dateiprotokollierung an. (Kurzform: /flp) Bis zu zehn Datei-Protokollierungen können Sie anhand des Parameters mit einer Ziffer verwenden, die die Protokollierung identifiziert. Um beispielsweise separate Protokolldateien für Warnungen und Fehler zu generieren, verwenden Sie /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Folgende Parameter sind verfügbar: LogFile - Der Pfad zur Protokolldatei, in die das Buildprotokoll geschrieben wird. Er wird von der verteilten Dateiprotokollierung als Präfix für die Protokolldateinamen verwendet. Append - Bestimmt, ob das Buildprotokoll angefügt wird oder ob die Protokolldatei überschrieben wird. Wenn Sie den Schalter aktivieren, wird das Buildprotokoll an die Protokolldatei angefügt. Wenn Sie den Schalter nicht aktivieren, wird der Inhalt einer vorhandenen Protokolldatei überschrieben. Standardmäßig wird nichts an die Protokolldatei angefügt. Ausführlichkeitsgrad - Überschreibt die ausführliche Standardausführlichkeitsgradeinstellung. Encoding - Legt die Codierung für die Datei fest, z. B. UTF-8. Die Konsolenprotokollierungsparameter können ebenfalls verwendet werden. Beispiel: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8 |
/toolsversion:version |
Gibt die Version des Toolsets an, die zum Erstellen des Projekts verwendet wird. Mit diesem Befehl können Sie zum Erstellen eines Projekts eine andere als die im Project-Element (MSBuild) festgelegte Version verwenden. Beispiel: C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Debug Gültige Werte für version sind 2.0, 3.0 und 3.5. Weitere Informationen zu Toolsets finden Sie unter Builderstellung für bestimmte Versionen von .NET Framework. |
/nodeReuse:<Parameter> |
Aktiviert oder deaktiviert die erneute Verwendung von MSBuild-Knoten. Die Parameter lauten: True - Knoten bleiben nach dem Abschluss des Builds erhalten und werden von nachfolgenden Builds wiederverwendet. False - Knoten bleiben nach dem Abschluss des Builds nicht erhalten. (Kurzform: /nr) Beispiel: /nr:true |
Hinweise
Wenn Parameter an die Standardkonsolenprotokollierung übergeben werden sollen, deaktivieren Sie diese mit /noconsolelogger, und geben Sie sie anschließend mit der /logger-Syntax an. Verwenden Sie beispielsweise die folgende Befehlszeile zum Anzeigen der Leistungszusammenfassung, die in der Regel nur mit dem Diagnoseausführlichkeitsgrad angezeigt wird:
msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary
Beispiel
Im folgenden Beispiel wird das rebuild-Ziel des MyProject.proj-Projekts erstellt.
MSBuild.exe MyProject.proj /t:rebuild
Mit MSBuild.exe können komplizierte Builds ausgeführt werden. Sie können beispielsweise bestimmte Ziele von bestimmten Projekten in einer Projektmappe erstellen. Im folgenden Beispiel wird das NotInSolutionFolder-Projekt neu erstellt und das InSolutionFolder-Projekt im NewFolder-Projektmappenordner gelöscht.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean