Freigeben über


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:

  • True.Knoten bleiben nach dem Buildvorgang ausgeführt, sodass folgende Builds sie verwenden können (Standard).

  • False.Knoten bleiben nicht, nachdem der Build abgeschlossen wird.

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.

HinweisHinweis
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.

ms164311.collapse_all(de-de,VS.110).gifSchalter 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:

  • PerformanceSummary.Zeigen Sie die Zeit, die in den Aufgaben, - Zielen und in Projekten entfällt.

  • Zusammenfassung.Zeigen Sie den Fehler und die Warnung Zusammenfassung am Ende an.

  • NoSummary.Zeigen Sie den Fehler und die Warnung Zusammenfassung nicht am Ende an.

  • ErrorsOnly.Fehler von zeigt nur.

  • WarningsOnly.Warnungen von zeigt nur.

  • NoItemAndPropertyList.Zeigen Sie die Liste nicht von Elementen und Eigenschaften an, die am Anfang jedes Projektbuild angezeigt würden, wenn die Ausführlichkeitsgrad zu diagnostic festgelegt ist.

  • ShowCommandLine.Zeigen Sie TaskCommandLineEvent-Meldungen an.

  • ShowTimestamp.Zeigen Sie den Timestamp als Präfix zu jeder Nachricht.

  • ShowEventId.Zeigen Sie die Ereignis-ID für jedes Ereignis Anfangs-, fertige Ereignis und Meldung an.

  • ForceNoAlign.Richten Sie den Text nicht auf die Größe des Konsolpuffers aus.

  • DisableConsoleColor.Verwenden Sie die Standardeinstellung Konsolenfarben für alle Protokollierungsmeldungen.

  • DisableMPLogging.Deaktivieren Sie das Multiprozessorprotokollierungsformat der Ausgabe der Ausführung in NichtMultiprozessormodus.

  • EnableMPLogging.Aktivieren Sie das Multiprozessorprotokollierungsformat, selbst wenn in NichtMultiprozessormodus, ausgeführt.Dies Protokollierungsformat ist standardmäßig aktiviert.

  • Ausführlichkeit.Überschreiben Sie /verbosity, für diese Protokollierung festlegt.

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:

  • Protokolldatei.Der Pfad zur Protokolldatei, die in das Buildprotokoll geschrieben wird.Die verteilte Dateiprotokollierung stellt diesen Pfad zu den Namen der Protokolldateien voran.

  • Fügen Sie an.Bestimmt, ob das Buildprotokoll, die Protokolldatei angefügt oder sie überschreibt.Wenn Sie den Schalter aktivieren, wird das Buildprotokoll an die Protokolldatei angefügt.Wenn Sie den - Schalter nicht angeben, wird der Inhalt einer vorhandenen Protokolldatei überschrieben.

  • Code.Gibt die Codierung für die Datei an (beispielsweise, UTF-8 oder Unicode ASCII).

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

Weitere Ressourcen

MSBuild-Referenz