MSBuild-Befehlszeilenreferenz
Wenn Sie MSBuild.exe verwenden, um ein Projekt- oder Projektmappendatei zu erstellen, können Sie mehrere Schalter einschließen, um verschiedene Aspekte des Prozesses anzugeben.
MSBuild.exe [Switches] [ProjectFile]
Argumente
Argument |
Beschreibung |
---|---|
ProjectFile |
Erstellt die Ziele in der Projektdatei, die Sie angeben.Wenn Sie keine Projektdatei angeben, sucht MSBuild das aktuelle Arbeitsverzeichnis nach einer Dateinamenerweiterung, die Enden "proj" und verwenden, die Datei.Sie können eine Visual Studio-Projektmappendatei für dieses Argument auch angeben. |
Schalter
Schalter |
Kurzform |
Beschreibung |
---|---|---|
/help |
/?oder /h |
Anzeigenverwendungsinformationen.Der folgende Befehl ist ein Beispiel: msbuild.exe /? |
/detailedsummary |
/ds |
Showausführliche Symbolinformationen am Ende des Buildprotokolls über die Konfigurationen, die erstellt wurden und wie sie zu Knoten geplant wurden. |
/ignoreprojectextensions: extensions |
/ignore: extensions |
Ignorieren Sie die angegebenen Erweiterungen, wenn Sie bestimmen, welche Projektdatei zu erstellen.Verwenden Sie ein Semikolon oder ein Komma, um mehrere Erweiterungen zu trennen, wie im folgenden Beispiel gezeigt: /ignoreprojectextensions:.vcproj,.sln |
/maxcpucount [:number] |
/m [:number] |
Gibt die maximale Anzahl gleichzeitiger Prozesse an, der beim Erstellen zu verwenden.Wenn Sie diesen Schalter einschließen, ist der Standardwert 1.Wenn Sie diesen Schalter einschließen, ohne einen Wert anzugeben, MSBuild verwendet bis zur Anzahl von Prozessoren im Computer.Weitere Informationen finden Sie unter Paralleles Erstellen von mehreren Projekten mit MSBuild. Im folgenden Beispiel weist MSBuild an, um mit drei MSBuild-Prozesse zu erstellen, das drei Projekte ermöglicht, gleichzeitig zu erstellen: msbuild myproject.proj /maxcpucount:3 |
/noautoresponse |
/noautorsp |
Schließen Sie keine MSBuild.rsp-Dateien automatisch ein. |
/nodeReuse:value |
/nr:value |
Aktivieren oder deaktivieren Sie 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 einschließen, können mehrere Knoten gleichzeitig ausführen. |
/nologo |
Zeigen Sie nicht das Startbanner oder die Copyrightvermerk an. |
|
/preprocess [:filepath] |
/pp [:filepath] |
Erstellen Sie eine einzelne, aggregierte Projektdatei durch Inlining alle Dateien, die während eines Builds importiert würden, wenn ihre Grenzen markiert.Sie können diesen Schalter verwenden können leicht bestimmen, welche Dateien importiert werden, von wo die Dateien importiert und von den Dateien zum Build beitragen.Wenn Sie diesen Schalter verwenden, wird das Projekt nicht erstellt. Wenn Sie filepath angeben, wird die zusammengefasste Projektdatei zur Datei ausgegeben.Andernfalls wird die Ausgabe im Konsolenfenster. Informationen, wie das Import-Element verwendet, um eine Projektdatei in eine andere Projektdatei einzufügen, finden Sie unter Import-Element (MSBuild) und Gewusst wie: Verwenden eines Ziels in mehreren Projektdateien. |
/property:name=value |
/p:name=value |
Satz oder überschreiben die angegebenen Eigenschaften auf Projektebene, in denen name der Eigenschaftenname und value ist der - Eigenschaftswert ist.Geben Sie jede Eigenschaft separat an, oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Eigenschaften zu trennen, wie im folgenden Beispiel gezeigt: /property:WarningLevel=2;OutputDir=bin\Debug |
/target:targets |
/t:targets |
Erstellen Sie die angegebenen Ziele im Projekt.Geben Sie jedes Ziel separat an, oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Ziele zu trennen, wie im folgenden Beispiel gezeigt: /target:Resources;Compile Wenn Sie alle Ziele angeben, indem Sie diesen Schalter verwenden, werden sie anstelle aller Ziele im DefaultTargets-Attribut in der Projektdatei ausgeführt.Weitere Informationen finden Sie unter Buildreihenfolge für Ziele und Gewusst wie: Angeben des zuerst zu erstellenden Ziels. Ein Ziel ist eine Gruppe von Aufgaben.Weitere Informationen finden Sie unter MSBuild-Ziele. |
/toolsversion:version |
/tv:version |
Gibt die Version des Toolsets an, um zu verwenden, um das Projekt zu erstellen, wie im folgenden Beispiel dargestellt: /toolsversion:3.5 Wenn Sie diesen Schalter verwenden, können Sie ein Projekt erstellen und eine Version angeben, die von der Version unterscheiden, die in Project-Element (MSBuild) angegeben wird.Weitere Informationen finden Sie unter Überschreiben von ToolsVersion-Einstellungen. Für MSBuild 4,5, können Sie die folgenden Werte für version angeben: 2.0, 3.5 und 4.0.Wenn Sie 4.0 angeben, gibt die VisualStudioVersion-Buildeigenschaft an, die das SubToolset zu verwenden.Weitere Informationen finden Sie im Sub-Toolsetabschnitt von MSBuild-Toolset (ToolsVersion). Ein Toolset umfasst Aufgaben, Zielen und Tools, die verwendet werden, um eine Anwendung zu erstellen.Die Tools umfassen Compiler wie csc.exe und vbc.exe ein.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 entspricht nicht dem Zielframework, das die Version von .NET Framework ist, auf denen ein Projekt ausgeführt werden erstellt wird.Weitere Informationen finden Sie unter MSBuild-Zielframework und -Zielplattform.
|
/validate:schema[] |
/val schema[] |
Überprüfen Sie die Projektdatei und, wenn die Validierung erfolgreich ist, erstellen Sie das Projekt. Wenn Sie nicht schema angeben, wird das Projekt für das Standardschema überprüft. Wenn Sie schema angeben, wird das Projekt für das Schema entspricht, das Sie angeben. Die folgende Einstellung ist ein Beispiel: /validate:MyExtendedBuildSchema.xsd |
/verbosity:level |
/v:level |
Gibt die Informationsmenge zur Anzeige in das Buildprotokoll an.Jede Protokollierung werden Ereignisse auf Grundlage der Ausführlichkeitsgrad an, die Sie auch für diese Protokollierung diese ist. Sie können die folgenden Ausführlichkeitsgrade angeben: q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic]. Die folgende Einstellung ist ein Beispiel: /verbosity:quiet |
/version |
/ver |
Nur Anzeigenversionsinformationen.Das Projekt wird nicht erstellt. |
@file |
EINFG-Befehlszeilenschalter aus einer Textdatei.Wenn Sie mehrere Dateien haben, geben Sie diese separat an.Weitere Informationen finden Sie unter MSBuild-Antwortdateien. |
Schalter für Protokollierungen
Schalter |
Kurzform |
Beschreibung |
---|---|---|
/consoleloggerparameters:parameters |
/clp:parameters |
Führen Sie die Parameter, die Sie der Standardkonsole angeben, die Buildinformationen im Konsolenfenster angezeigt werden.Sie können die folgenden Parameter angeben:
Verwenden Sie ein Semikolon oder ein Komma, um mehrere Parameter zu trennen, wie im folgenden Beispiel gezeigt: /consoleloggerparameters:PerformanceSummary;NoSummary /verbosity:minimal |
/distributedFileLogger |
/dfl |
Protokollieren Sie die Buildausgabe jedes MSBuild-Knotens in einer eigenen Datei.Der ursprüngliche Speicherort für diese Dateien ist das aktuelle Verzeichnis.Standardmäßig werden die Dateien "MSBuild NodeId.log" benannt.Sie können den /fileLoggerParameters Schalter verwenden, um den Speicherort der Dateien und anderer Parameter für das fileLogger anzugeben. Wenn Sie eine Protokolldatei benennen, indem Sie den /fileLoggerParameters Schalter verwenden, wird die verteilte Protokollierung diesen Namen als Vorlage und fügt die Knoten ID zu diesem Namen an, wenn sie eine Protokolldatei für jeden Knoten erstellt. |
/distributedlogger:central logger*forwarding logger |
/dl:central logger*forwarding logger |
Protokollereignisse von MSBuild, eine andere Protokollierungsinstanz zu jedem Knoten anzufügen.Wenn Sie mehrere Protokollierungen angeben möchten, geben Sie jede Protokollierung einzeln an. Sie verwenden die Protokollierungssyntax, um eine Protokollierung anzugeben.Für die Protokollierungssyntax finden Sie im /logger Schalter unten. Die folgenden Beispiele zeigen, wie dieser Schalter verwendet: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll |
/fileLogger [Zahl] |
/fl number[] |
Protokollieren Sie die Buildausgabe in einer einzelnen Datei im aktuellen Verzeichnis.Wenn Sie nicht number angeben, wird die Ausgabedatei mit dem Namen msbuild.log.Wenn Sie number angeben, wird die Ausgabedatei msbuild n mit dem Namen .log, wobei n number ist.Number kann eine Zahl von 1 bis 9. Sie können den /fileLoggerParameters Schalter verwenden, um den Speicherort der Datei und anderer Parameter für das fileLogger anzugeben. |
/fileloggerparameters: [] parameters Zahl |
/flp: number[] parameters |
Gibt alle zusätzlichen Parameter für die Dateiprotokollierung und die verteilte Dateiprotokollierung an.Das Vorhandensein dieses Schalters bedeutet, dass das entsprechende/der Schalter filelogger[number] vorhanden ist.Number kann eine Zahl von 1 bis 9. Sie können alle Parameter verwenden, die für /consoleloggerparameters aufgeführt sind.Sie können eine oder mehrere der folgenden Parameter auch verwenden:
Im folgenden Beispiel wird separate Protokolldateien für Warnungen und Fehler: /flp1:logfile=errors.txt;errorsonly /flp2:logfile=warnings.txt;warningsonly Die folgenden Beispiele veranschaulichen andere Möglichkeiten veranschaulicht: /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 zu verwendende Protokollierung zum Protokollieren von Ereignissen aus MSBuild an.Wenn Sie mehrere Protokollierungen angeben möchten, geben Sie jede Protokollierung einzeln an. Verwenden Sie die folgende Syntax für logger: [LoggerClass,]LoggerAssembly[;LoggerParameters] Verwenden Sie die folgende Syntax für LoggerClass: [PartialOrFullNamespace.]LoggerClassName Sie müssen die Protokollierungsklasse nicht angeben, wenn die Assembly genau eine Protokollierung enthält. Verwenden Sie die folgende Syntax für LoggerAssembly: {AssemblyName[,StrongName] |AssemblyFile} Protokollierungsparameter sind optional und werden zur Protokollierung genau übergeben, während der Eingabe. Die folgenden Beispiele verwenden den /logger Schalter. /logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral /logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML |
/noconsolelogger |
/noconlog |
Deaktivieren Sie die Standardkonsole, und melden Sie Ereignisse nicht in der Konsole. |
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.Das folgende Beispiel erstellt das Projekt NotInSolutionFolder neu bereinigt und das Projekt InSolutionFolder, das im NewFolder Projektmappenordner ist.
msbuild SlnFolders.sln /t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean
Siehe auch
Referenz
Gemeinsame MSBuild-Projekteigenschaften