MSBuild-BefehlszeilenreferenzMSBuild command-line reference

Wenn Sie mithilfe von MSBuild.exe ein Projekt oder eine Projektmappendatei erstellen, können Sie diverse Optionen verwenden, um verschiedene Aspekte des Prozesses festzulegen.When you use MSBuild.exe to build a project or solution file, you can include several switches to specify various aspects of the process.

Jeder Schalter ist in zwei Varianten verfügbar: -schalter und /schalter.Every switch is available in two forms: -switch and /switch. In der Dokumentation wird nur die Form „-schalter“ gezeigt.The documentation only shows the -switch form. Bei Schaltern wird nicht zwischen Groß–/Kleinschreibung unterschieden.Switches are not case-sensitive. Wenn Sie MSBuild über eine andere Shell als der Windows-Eingabeaufforderung ausführen, müssen Listen von Argumenten für eine switch-Anweisung (durch Semikolons oder Kommas getrennt) möglicherweise mit einfachen oder doppelten Anführungszeichen geschrieben werden, um dafür zu sorgen, dass die Listen an MSBuild übergeben werden, anstatt von der Shell interpretiert zu werden.If you run MSBuild from a shell other than the Windows command prompt, lists of arguments to a switch (separated by semicolons or commas) might need single or double quotes to ensure that lists are passed to MSBuild instead of interpreted by the shell.

SyntaxSyntax

MSBuild.exe [Switches] [ProjectFile]

ArgumenteArguments

ArgumentArgument BeschreibungDescription
ProjectFile Erstellt die Ziele in der von Ihnen angegebenen Projektdatei.Builds the targets in the project file that you specify. Wenn Sie keine Projektdatei angeben, durchsucht MSBuild das aktuelle Arbeitsverzeichnis nach einer Erweiterung, die mit proj endet, und verwendet diese.If you don't specify a project file, MSBuild searches the current working directory for a file name extension that ends in proj and uses that file. Sie können hier auch eine Visual Studio-Projektmappendatei als Argument angeben.You can also specify a Visual Studio solution file for this argument.

SchalterSwitches

SchalterSwitch KurzformShort form BeschreibungDescription
-detailedSummary-detailedSummary -ds-ds Zeigt am Ende des Buildprotokolls ausführliche Informationen zu den erstellten Konfigurationen und deren Planung in Knoten an.Show detailed information at the end of the build log about the configurations that were built and how they were scheduled to nodes.
-graphBuild[:True oder False]-graphBuild[:True or False] -graph[:True oder False]-graph[:True or False] Führt dazu, dass MSBuild einen Projektgraph konstruiert und erstellt.Causes MSBuild to construct and build a project graph. Das Konstruieren eines Graphs beinhaltet das Identifizieren der Projektverweise, um Abhängigkeiten zu erstellen.Constructing a graph involves identifying project references to form dependencies. Das Erstellen dieses Graphs beinhaltet den Versuch, Projektverweise vor den Projekten zu erstellen, die die Verweise enthalten. Dieses Vorgehen unterscheidet sich vom herkömmlichen MSBuild-Vorgehen.Building that graph involves attempting to build project references prior to the projects that reference them, differing from traditional MSBuild scheduling. Erfordert MSBuild 16 oder höher.Requires MSBuild 16 or later.
-help-help /?/? oder -hor -h Zeigt Nutzungsinformationen an.Display usage information. Der folgende Befehl ist ein Beispiel:The following command is an example:

msbuild.exe -?
-ignoreProjectExtensions: extensions-ignoreProjectExtensions: extensions -ignore: extensions-ignore: extensions Ignoriert beim Bestimmen der zu erstellenden Projektdatei die angegebenen Erweiterungen.Ignore the specified extensions when determining which project file to build. Mehrere Erweiterungen werden mit einem Semikolon oder einem Komma getrennt, wie im folgenden Beispiel gezeigt:Use a semicolon or a comma to separate multiple extensions, as the following example shows:

-ignoreprojectextensions:.vcproj,.sln
-interactive[:True oder False]-interactive[:True or False] - Gibt an, dass Aktionen im Build mit dem Benutzer interagieren dürfen.Indicates that actions in the build are allowed to interact with the user. Verwenden Sie dieses Argument nicht in einem automatisierten Szenario, in dem keine Interaktivität erwartet wird.Do not use this argument in an automated scenario where interactivity is not expected. Das Angeben von -interactive ist identisch mit dem Angeben von -interactive:true.Specifying -interactive is the same as specifying -interactive:true. Verwenden Sie den Parameter, um einen Wert zu überschreiben, der aus einer Antwortdatei stammt.Use the parameter to override a value that comes from a response file.
-isolateProjects[:True oder False]-isolateProjects[:True or False] -isolate[:True oder False]-isolate[:True or False] Führt dazu, dass MSBuild alle Projekte isoliert erstellt.Causes MSBuild to build each project in isolation. Hierbei handelt es sich um einen restriktiveren MSBuild-Modus, da für ihn erforderlich ist, dass der Projektgraph bei der Auswertung statisch erkennbar ist. Der Modus kann die Zeitplanung optimieren und den Arbeitsspeicheraufwand reduzieren, wenn viele Projekte erstellt werden.This is a more restrictive mode of MSBuild as it requires that the project graph be statically discoverable at evaluation time, but can improve scheduling and reduce memory overhead when building a large set of projects.
-maxCpuCount[:number]-maxCpuCount[:number] -m[:number]-m[:number] Gibt die maximale Anzahl gleichzeitiger Prozesse beim Buildvorgang an.Specifies the maximum number of concurrent processes to use when building. Wenn Sie diesen Schalter nicht angeben, wird der Standardwert 1 verwendet.If you don't include this switch, the default value is 1. Wenn Sie diesen Schalter ohne Angabe eines Werts verwenden, nutzt MSBuild alle Prozessoren des Computers.If you include this switch without specifying a value, MSBuild will use up to the number of processors in the computer. Weitere Informationen finden Sie unter Paralleles Erstellen von mehreren Projekten.For more information, see Building multiple projects in parallel.

Im folgenden Beispiel wird MSBuild angewiesen, drei MSBuild-Prozesse für Buildvorgänge zu nutzen, sodass drei Projekte gleichzeitig erstellt werden können:The following example instructs MSBuild to build using three MSBuild processes, which allows three projects to build at the same time:

msbuild myproject.proj -maxcpucount:3
-noAutoResponse-noAutoResponse -noautorsp-noautorsp Schließen Sie keine MSBUILD.RSP-Dateien automatisch ein.Don't include any MSBuild.rsp files automatically.
-nodeReuse:value-nodeReuse:value -nr:value-nr:value Aktiviert oder deaktiviert die Wiederverwendung von MSBuild-Knoten.Enable or disable the re-use of MSBuild nodes. Sie können folgende Werte angeben:You can specify the following values:

- TRUE.- True. Nach Abschluss des Buildvorgangs bleiben die Knoten bestehen, sodass sie von nachfolgenden Buildvorgängen genutzt werden können (Standardeinstellung).Nodes remain after the build finishes so that subsequent builds can use them (default).
- FALSE.- False. Nach Abschluss des Buildvorgangs bleiben die Knoten nicht bestehen.Nodes don't remain after the build completes.

Ein Knoten entspricht einem Projekt, das ausgeführt wird.A node corresponds to a project that's executing. Wenn Sie den Schalter -maxcpucount angeben, können mehrere Knoten gleichzeitig ausgeführt werden.If you include the -maxcpucount switch, multiple nodes can execute concurrently.
-nologo-nologo Unterdrückt die Anzeige von Startbanner und Copyrightmeldung.Don't display the startup banner or the copyright message.
-preprocess[:filepath]-preprocess[:filepath] -pp[: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.Create a single, aggregated project file by inlining all the files that would be imported during a build, with their boundaries marked. 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.You can use this switch to more easily determine which files are being imported, from where the files are being imported, and which files contribute to the build. Wenn Sie diesen Schalter verwenden, wird das Projekt nicht erstellt.When you use this switch, the project isn't built.

Wenn Sie einen filepath angeben, wird die aggregierte Projektdatei in die Datei ausgegeben.If you specify a filepath, the aggregated project file is output to the file. Andernfalls wird die Ausgabe im Konsolenfenster angezeigt.Otherwise, the output appears in the console window.

Wie Sie mithilfe des Import-Elements eine Projektdatei in eine andere Projektdatei einfügen können, wird unter Import-Element (MSBuild) und Vorgehensweise: Verwenden desselben Ziels in mehreren Projektdateien erklärt.For information about how to use the Import element to insert a project file into another project file, see Import element (MSBuild) and How to: Use the same target in multiple project files.
-outputResultsCache[:cacheFile]-outputResultsCache[:cacheFile] -orc[:cacheFile]-orc[:cacheFile] Die Ausgabecachedatei, in die MSBuild am Ende des Builds die Inhalte des Buildergebnicaches schreibt.Output cache file where MSBuild will write the contents of its build result caches at the end of the build. Wenn dieser switch-Parameter festgelegt wird, werden dadurch auch isolierte Builds (-isolate) aktiviert.Setting this also turns on isolated builds (-isolate).
-profileEvaluation:<file>-profileEvaluation:<file> - Erstellt ein Profil für die MSBuild-Auswertung und schreibt das Ergebnis in die angegebene Datei.Profiles MSBuild evaluation and writes the result to the specified file. Wenn es sich bei der angegebenen Datei um eine MD-Erweiterung handelt, wird das Ergebnis im Markdownformat generiert.If the extension of the specified file is '.md', the result is generated in Markdown format. Andernfalls wird eine durch Tabulatoren getrennte Datei erstellt.Otherwise, a tab-separated file is produced.
-property:name=value-property:name=value -p: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.Set or override the specified project-level properties, where name is the property name and value is the property value. Geben Sie jede Eigenschaft einzeln an oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Eigenschaften zu trennen (siehe Beispiel):Specify each property separately, or use a semicolon or comma to separate multiple properties, as the following example shows:

-property:WarningLevel=2;OutDir=bin\Debug
-restore-restore -r-r Führt das Restore-Ziel vor dem Erstellen der eigentlichen Ziele aus.Runs the Restore target prior to building the actual targets.
-restoreProperty:name=value-restoreProperty:name=value -rp:name=value-rp:name=value Das Festlegen und Überschreiben dieser Eigenschaften auf Projektebene sollte nur während Wiederherstellungsvorgängen erfolgen, und verwenden Sie nicht die Eigenschaften, die vom -property-Argument angegeben werden.Set or override these project-level properties only during restore and do not use properties specified with the -property argument. name ist der Eigenschaftsname, und value ist der Eigenschaftswert.name is the property name, and value is the property value. Geben Sie jede Eigenschaft einzeln an, oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Eigenschaften zu trennen.Use a semicolon or a comma to separate multiple properties, or specify each property separately.
-target:targets-target:targets -t:targets-t:targets Erstellt die angegebenen Ziele im Projekt.Build the specified targets in the project. Geben Sie jedes Ziel einzeln an oder verwenden Sie ein Semikolon oder ein Komma, um mehrere Ziele zu trennen (siehe Beispiel):Specify each target separately, or use a semicolon or comma to separate multiple targets, as the following example shows:

-target:PrepareResources;Compile

Wenn Sie über diesen Schalter Ziele angeben, werden diese anstelle der im DefaultTargets-Attribut in der Projektdatei angegebenen Ziele ausgeführt.If you specify any targets by using this switch, they are run instead of any targets in the DefaultTargets attribute in the project file. Weitere Informationen finden Sie unter Buildreihenfolge für Ziele und Vorgehensweise: Angeben des zuerst zu erstellenden Ziels.For more information, see Target build order and How to: Specify which target to build first.

Als Ziel wird eine Gruppe von Aufgaben bezeichnet.A target is a group of tasks. Weitere Informationen finden Sie unter Ziele.For more information, see Targets.
-targets[:file]-targets[:file] -ts[:file]-ts[:file] Schreibt die Liste der verfügbaren Ziele in die angegebene Datei (oder das Ausgabegerät, wenn keine Datei angegeben wird), ohne den Buildprozess tatsächlich auszuführen.Write the list of available targets to the specified file (or the output device, if no file is specified), without actually executing the build process.
-toolsVersion:version-toolsVersion:version -tv:version-tv:version Gibt die Version des Toolsets an, mit dem das Projekt erstellt werden soll, wie zum Beispiel: -toolsversion:3.5Specifies the version of the Toolset to use to build the project, as the following example shows: -toolsversion:3.5

Wenn Sie diese Option verwenden, können Sie ein Projekt mit einer anderen Version als der im Project-Element (MSBuild) festgelegten erstellen.By using this switch, you can build a project and specify a version that differs from the version that's specified in the Project element (MSBuild). Weitere Informationen erhalten Sie unter Überschreiben der ToolsVersion-Einstellungen.For more information, see Overriding ToolsVersion settings.

Bei MSBuild 4.5 können Sie für version die folgenden Werte angeben: 2.0, 3.5 und 4.0.For MSBuild 4.5, you can specify the following values for version: 2.0, 3.5, and 4.0. Wenn Sie 4.0 angeben, gibt die Buildeigenschaft VisualStudioVersion an, welches Unter-Toolset verwendet werden soll.If you specify 4.0, the VisualStudioVersion build property specifies which sub-toolset to use. Weitere Informationen finden Sie im Abschnitt zu Unter-Toolsets unter Toolset (ToolsVersion).For more information, see the Sub-toolsets section of Toolset (ToolsVersion).

Ein Toolset besteht aus Aufgaben, Zielen und Tools, die beim Erstellen einer Anwendung verwendet werden.A Toolset consists of tasks, targets, and tools that are used to build an application. Zu den Tools zählen Compiler wie csc.exe und vbc.exe.The tools include compilers such as csc.exe and vbc.exe. Weitere Informationen zu Toolsets finden Sie unter Toolset (ToolsVersion), Standardmäßige und benutzerdefinierte Toolsetkonfigurationen und Festlegung von Zielversionen.For more information about Toolsets, see Toolset (ToolsVersion), Standard and custom toolset configurations, and Multitargeting. 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.Note: The toolset version isn't the same as the target framework, which is the version of the .NET Framework on which a project is built to run. Weitere Informationen finden Sie unter Zielframework und -Zielplattform.For more information, see Target framework and target platform.
-validate:[schema]-validate:[schema] -val[schema]-val[schema] Überprüft die Projektdatei und erstellt bei erfolgreicher Überprüfung das Projekt.Validate the project file and, if validation succeeds, build the project.

Wenn Sie schema nicht angeben, wird das Projekt anhand des Standardschemas überprüft.If you don't specify schema, the project is validated against the default schema.

Wenn Sie schema angeben, wird das Projekt anhand des angegebenen Schemas überprüft.If you specify schema, the project is validated against the schema that you specify.

Die folgende Einstellung ist ein Beispiel: -validate:MyExtendedBuildSchema.xsdThe following setting is an example: -validate:MyExtendedBuildSchema.xsd
-verbosity:level-verbosity:level -v:level-v:level Gibt den Umfang an Informationen an, die im Buildprotokoll angezeigt werden sollen.Specifies the amount of information to display in the build log. Jede Protokollierung zeigt Ereignisse gemäß des Ausführlichkeitsgrads an, den Sie für diese Protokollierung festlegen.Each logger displays events based on the verbosity level that you set for that logger.

Für den Ausführlichkeitsgrad können Sie die folgenden Werte angeben: q[uiet], m[inimal], n[ormal] (Standardwert), d[etailed] und diag[nostic].You can specify the following verbosity levels: q[uiet], m[inimal], n[ormal] (default), d[etailed], and diag[nostic].

Die folgende Einstellung ist ein Beispiel: -verbosity:quietThe following setting is an example: -verbosity:quiet
-version-version -ver-ver Zeigt nur Versionsinformationen an.Display version information only. Das Projekt wird nicht erstellt.The project isn't built.
@file Fügt Befehlszeilenschalter aus einer Textdatei ein.Insert command-line switches from a text file. Wenn Sie mehrere Dateien haben, müssen Sie diese separat angeben.If you have multiple files, you specify them separately. Weitere Informationen finden Sie unter Antwortdateien.For more information, see Response files.
-warnAsError[:code[;code2]-warnAsError[:code[;code2] -err[:code[;code2]-err[:code[;code2] Liste von Fehlercodes, die als Fehler behandelt werden.List of warning codes to treats as errors. Verwenden Sie ein Semikolon oder ein Komma, um mehrere Warnungscodes voneinander zu trennen.Use a semicolon or a comma to separate multiple warning codes. Wenn Sie möchten, dass alle Warnungen als Fehler behandelt werden, verwenden Sie den switch-Parameter ohne Werte.To treat all warnings as errors, use the switch with no values. Wenn eine Warnung als Fehler behandelt wird, wird das Ziel weiter ausgeführt, als würde es sich um eine Warnung handeln, aber der gesamte Build schlägt fehl.When a warning is treated as an error the target continues to execute as if it was a warning but the overall build fails.

Ein Beispiel: -err:MSB4130Example: -err:MSB4130
-warnAsMessage[:code[;code2]-warnAsMessage[:code[;code2] -noWarn[:code[;code2]-noWarn[:code[;code2] Liste der Warnungscodes, die als Nachrichten mit niedriger Relevanz behandelt werden.List of warning codes to treats as low importance messages. Verwenden Sie ein Semikolon oder ein Komma, um mehrere Warnungscodes voneinander zu trennen.Use a semicolon or a comma to separate multiple warning codes.

Ein Beispiel: -noWarn:MSB3026Example: -noWarn:MSB3026

Optionen für ProtokollierungenSwitches for loggers

SchalterSwitch KurzformShort form BeschreibungDescription
-binaryLogger[:[LogFile=]output.binlog-binaryLogger[:[LogFile=]output.binlog
[;ProjectImports=[None,Embed,ZipFile]]][;ProjectImports=[None,Embed,ZipFile]]]
-bl-bl Serialisiert alle Buildereignisse in eine komprimierte Binärdatei.Serializes all build events to a compressed binary file. Standardmäßig befindet sich die Datei im aktuellen Verzeichnis und heißt msbuild.binlog.By default the file is in the current directory and named msbuild.binlog. Das binäre Protokoll ist eine ausführliche Beschreibung des Buildprozesses, der später für die Wiederherstellung von Textprotokollen und von weiteren Analysetools verwendet werden kann.The binary log is a detailed description of the build process that can later be used to reconstruct text logs and used by other analysis tools. Ein binäres Protokoll ist in der Regel zehn- bis zwanzigmal kleiner als die ausführlichste Textprotokoll auf Diagnoseebene. Es enthält aber mehr Informationen.A binary log is usually 10-20x smaller than the most detailed text diagnostic-level log, but it contains more information.

Die binäre Protokollierung erfasst standardmäßig den Quelltext von Projektdateien, einschließlich aller importierten Projekte und Zieldateien, die während des Builds auftreten.The binary logger by default collects the source text of project files, including all imported projects and target files encountered during the build. Der optionale Schalter ProjectImports steuert dieses Verhalten:The optional ProjectImports switch controls this behavior:

- ProjectImports=None.- ProjectImports=None. Erfassen Sie die Projektimporte nicht.Don't collect the project imports.
- ProjectImports=Embed.- ProjectImports=Embed. Betten Sie Projektimporte in die Protokolldatei (Standard) ein.Embed project imports in the log file (default).
- ProjectImports=ZipFile.- ProjectImports=ZipFile. Speichern Sie Projektdateien in <output>.projectimports.zip. Hierbei entspricht <output> dem Namen der binären Protokolldatei.Save project files to <output>.projectimports.zip where <output> is the same name as the binary log file name.

Die Standardeinstellung für „ProjectImports“ ist „Einbetten“.The default setting for ProjectImports is Embed.
Hinweis: Die Protokollierung erfasst keine Nicht-MSBuild-Quelldateien wie CS- und CPP-Dateien.Note: the logger does not collect non-MSBuild source files such as .cs, .cpp etc.
Eine BINLOG-Datei kann „erneut wiedergegeben“ werden, indem sie als Argument statt als Projekt oder Projektmappe an msbuild.exe übergeben wird.A .binlog file can be "played back" by passing it to msbuild.exe as an argument instead of a project/solution. Andere Protokollierungen erhalten die in der Protokolldatei enthaltenen Informationen, als ob der ursprüngliche Build erstellt würde.Other loggers will receive the information contained in the log file as if the original build was happening. Weitere Informationen zum Binärprotokoll und dessen Verwendung finden Sie unter https://github.com/Microsoft/msbuild/wiki/Binary-Log.You can read more about the binary log and its usages at: https://github.com/Microsoft/msbuild/wiki/Binary-Log

Beispiele:Examples:
- -bl
- -bl:output.binlog
- -bl:output.binlog;ProjectImports=None
- -bl:output.binlog;ProjectImports=ZipFile
- -bl:..\..\custom.binlog
- -binaryLogger
-consoleLoggerParameters:-consoleLoggerParameters:

parameters
-clp:parameters-clp:parameters Übergibt die angegebenen Parameter an die Konsolenprotokollierung, die Buildinformationen im Konsolenfenster anzeigt.Pass the parameters that you specify to the console logger, which displays build information in the console window. Sie können die folgenden Parameter angeben:You can specify the following parameters:

- PerformanceSummary.- PerformanceSummary. Zeigt die Zeitdauer bei der Arbeit an Aufgaben, Zielen und Projekten anShow the time that's spent in tasks, targets, and projects.
- Summary.- Summary. Zeigt am Ende eine Zusammenfassung zu aufgetretenen Fehlern und Warnungen an.Show the error and warning summary at the end.
- NoSummary.- NoSummary. Am Ende wird keine Zusammenfassung zu aufgetretenen Fehlern und Warnungen angezeigt.Don't show the error and warning summary at the end.
- ErrorsOnly.- ErrorsOnly. Nur Fehler werden angezeigt.Show only errors.
- WarningsOnly.- WarningsOnly. Nur Warnungen werden angezeigt.Show only warnings.
- NoItemAndPropertyList.- NoItemAndPropertyList. Unterdrückt die Anzeige der Liste von Elementen und Eigenschaften, die zu Beginn jedes Projekts angezeigt wird, wenn der Ausführlichkeitsgrad auf diagnostic festgelegt ist.Don't show the list of items and properties that would appear at the start of each project build if the verbosity level is set to diagnostic.
- ShowCommandLine.- ShowCommandLine. Zeigt TaskCommandLineEvent-Meldungen an.Show TaskCommandLineEvent messages.
- ShowTimestamp.- ShowTimestamp. Stellt jeder Meldung den zugehörigen Zeitstempel voran.Show the timestamp as a prefix to any message.
- ShowEventId.- ShowEventId. Zeigt zu jedem Ereignis vom Typ "Gestartet" und "Abgeschlossen" sowie zu jeder Meldung die Ereignis-ID an.Show the event ID for each started event, finished event, and message.
- ForceNoAlign.- ForceNoAlign. Hierbei wird der Text nicht der Größe des Konsolenpuffers angeglichen.Don't align the text to the size of the console buffer.
- DisableConsoleColor.- DisableConsoleColor. Verwendet bei allen Protokollierungsmeldungen die Standardkonsolenfarben.Use the default console colors for all logging messages.
- DisableMPLogging.- DisableMPLogging. Deaktiviert bei Ausführung im Einzelprozessormodus das Multiprozessor-Protokollierungsformat der Ausgabe.Disable the multiprocessor logging style of output when running in non-multiprocessor mode.
- EnableMPLogging.- EnableMPLogging. Aktiviert das Multiprozessor-Protokollierungsformat auch bei Ausführung im Einzelprozessormodus.Enable the multiprocessor logging style even when running in non-multiprocessor mode. Dieses Protokollierungsformat ist standardmäßig aktiviert.This logging style is on by default.
- Verbosity.- Verbosity. Überschreibt die Einstellung -verbosity für diese Protokollierung.Override the -verbosity setting for this logger.

Mehrere Parameter sind mit einem Semikolon zu trennen, wie im folgenden Beispiel gezeigt:Use a semicolon to separate multiple parameters, as the following example shows:

-consoleloggerparameters:PerformanceSummary;NoSummary -verbosity:minimal

Standardmäßig ist die Konsolenprotokollierung auf eine normale Ausführlichkeit festgelegt und beinhaltet Summary.The default console logger is at normal verbosity and includes a Summary.
-distributedFileLogger-distributedFileLogger -dfl-dfl Protokolliert die Buildausgabe jedes MSBuild-Knotens in dessen eigene Datei.Log the build output of each MSBuild node to its own file. In der Standardeinstellung werden diese Dateien im aktuellen Verzeichnis gespeichert.The initial location for these files is the current directory. Die Namen der Dateien lauten standardmäßig MSBuild<NodeId>.log.By default, the files are named MSBuild<NodeId>.log. Sie können den Schalter -fileLoggerParameters verwenden, um den Speicherort der Dateien und andere Parameter für „fileLogger“ anzugeben.You can use the -fileLoggerParameters switch to specify the location of the files and other parameters for the fileLogger.

Wenn Sie eine Protokolldatei mithilfe des Schalters -fileLoggerParameters benennen, wird die verteilte Protokollierung diesen Namen als Vorlage verwenden und die Knoten-ID an ihn anfügen, wenn sie eine Protokolldatei für jeden Knoten erstellt.If you name a log file by using the -fileLoggerParameters switch, the distributed logger will use that name as a template and append the node ID to that name when creating a log file for each node.
-distributedLogger:-distributedLogger:

central logger*

forwarding logger
-dl:central logger*forwarding logger-dl:central logger*forwarding logger Protokolliert Ereignisse von MSBuild und hängt an jeden Knoten eine andere Protokollierungsinstanz an.Log events from MSBuild, attaching a different logger instance to each node. Wenn Sie mehrere Protokollierungen angeben möchten, müssen Sie jede Protokollierung einzeln angeben.To specify multiple loggers, specify each logger separately.

Zum Angeben einer Protokollierung verwenden Sie die Protokollierungssyntax.You use the logger syntax to specify a logger. Informationen zur Protokollierungssyntax finden Sie weiter unten unter dem Schalter -logger.For the logger syntax, see the -logger switch below.

Das folgende Beispiel zeigt, wie dieser Schalter verwendet wird:The following examples show how to use this switch:

-dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

-dl:MyLogger,C:\My.dll*ForwardingLogger,C:\Logger.dll
-fileLogger-fileLogger

[number][number]
-fl[number]-fl[number] Protokolliert die Buildausgabe in einer einzelnen Datei im aktuellen Verzeichnis.Log the build output to a single file in the current directory. Wenn Sie number nicht angeben, erhält die Ausgabedatei den Namen msbuild.log.If you don't specify number, the output file is named msbuild.log. Wenn Sie number angeben, erhält die Ausgabedatei den Namen msbuild<n>.log (wobei <n> für die in number angegebene Nummer steht).If you specify number, the output file is named msbuild<n>.log, where <n> is number. Number kann eine Ziffer von 1 bis 9 sein.Number can be a digit from 1 to 9.

Sie können den Schalter -fileLoggerParameters verwenden, um den Speicherort der Datei und andere Parameter für „fileLogger“ anzugeben.You can use the -fileLoggerParameters switch to specify the location of the file and other parameters for the fileLogger.
-fileLoggerParameters[Nummer]:-fileLoggerParameters[number]:

parameters
-flp[ number]: parameters-flp[ number]: parameters Dient zur Angabe aller sonstigen Parameter für die Dateiprotokollierung und die verteilte Dateiprotokollierung.Specifies any extra parameters for the file logger and the distributed file logger. Bei Angabe dieses Schalters wird davon ausgegangen, dass der zugehörige -filelogger[ number ] -Schalter vorhanden ist.The presence of this switch implies that the corresponding -filelogger[number] switch is present. Number kann eine Ziffer von 1 bis 9 sein.Number can be a digit from 1 to 9.

Sie können alle Parameter verwenden, die für -consoleloggerparameters aufgeführt werden.You can use all parameters that are listed for -consoleloggerparameters. Sie können auch einen oder mehrere der folgenden Parameter verwenden:You can also use one or more of the following parameters:

- LogFile.- LogFile. Gibt den Pfad zu der Protokolldatei an, in die das Buildprotokoll geschrieben wird.The path to the log file into which the build log is written. Die verteilte Dateiprotokollierung stellt diesen Pfad den Namen seiner Protokolldateien voran.The distributed file logger prefixes this path to the names of its log files.
- Append.- Append. Bestimmt, ob das Buildprotokoll an die Protokolldatei angefügt wird oder diese überschreibt.Determines whether the build log is appended to the log file or overwrites it. Wenn Sie den Schalter setzen, wird das Buildprotokoll an die Protokolldatei angefügt.When you set the switch, the build log is appended to the log file. Wenn der Schalter nicht angegeben ist, wird der Inhalt einer vorhandenen Protokolldatei überschrieben.When the switch is not present, the contents of an existing log file are overwritten.
Ein Beispiel: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;appendExample: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append
Wenn Sie eine explizite true- oder false-Einstellung einschließen, wird das Protokoll unabhängig von der Einstellung angefügt.If you include an explicit true or false setting, the log is appended regardless of the setting. Wenn der Schalter nicht vorhanden ist, wird das Protokoll überschrieben.If you do not include the append switch, the log is overwritten.
In diesem Fall wird die Datei überschrieben: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.logIn this case the file is overwritten: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log
In diesem Fall wird die Datei angefügt: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=trueIn this case the file is appended: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=true
In diesem Fall wird die Datei angefügt: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=falseIn this case the file is appended: msbuild myfile.proj -flp:FileLogger,Microsoft.Build;logfile=MyLog.log;append=false
- Encoding.- Encoding. Gibt die Codierung für die Datei an (z. B. UTF-8, Unicode oder ASCII).Specifies the encoding for the file (for example, UTF-8, Unicode, or ASCII).

Das folgende Beispiel generiert separate Protokolldateien für Warnungen und Fehler:The following example generates separate log files for warnings and errors:

-flp1:logfile=errors.txt;errorsonly -flp2:logfile=warnings.txt;warningsonly

Die folgenden Beispiele zeigen weitere Möglichkeiten:The following examples show other possibilities:

-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:

logger
-l:logger-l:logger Gibt die Protokollierung an, mit der Ereignisse aus MSBuild protokolliert werden sollen.Specifies the logger to use to log events from MSBuild. Wenn Sie mehrere Protokollierungen angeben möchten, müssen Sie jede Protokollierung einzeln angeben.To specify multiple loggers, specify each logger separately.

Verwenden Sie bei logger die folgende Syntax: [``LoggerClass``,]``LoggerAssembly``[;``LoggerParameters``]Use the following syntax for logger: [``LoggerClass``,]``LoggerAssembly``[;``LoggerParameters``]

Verwenden Sie bei LoggerClass die folgende Syntax: [``PartialOrFullNamespace``.]``LoggerClassNameUse the following syntax for LoggerClass: [``PartialOrFullNamespace``.]``LoggerClassName

Wenn die Assembly genau eine Protokollierung enthält, muss die Protokollierungsklasse nicht angegeben werden.You don't have to specify the logger class if the assembly contains exactly one logger.

Verwenden Sie bei LoggerAssembly die folgende Syntax: {``AssemblyName``[,``StrongName``] &#124; AssemblyFile``}Use the following syntax for LoggerAssembly: {``AssemblyName``[,``StrongName``] &#124; AssemblyFile``}

Protokollierungsparameter sind optional und werden so an die Protokollierung übergeben, wie Sie sie eingegeben würden.Logger parameters are optional and are passed to the logger exactly as you enter them.

In den folgenden Beispielen wird der -logger-Schalter verwendet.The following examples use the -logger switch.

-logger:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

-logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML
-noConsoleLogger-noConsoleLogger -noconlog-noconlog Deaktiviert die standardmäßige Konsolenprotokollierung und protokolliert keine Ereignisse in der Konsole.Disable the default console logger, and don't log events to the console.

BeispielExample

Im folgenden Beispiel wird das rebuild-Ziel des Projekts MyProject.proj erstellt.The following example builds the rebuild target of the MyProject.proj project.

MSBuild.exe MyProject.proj -t:rebuild

BeispielExample

Mit MSBuild.exe sind auch komplexere Builds möglich.You can use MSBuild.exe to perform more complex builds. So können Sie das Tool zum Beispiel verwenden, um bestimmte Ziele von bestimmten Projekten in einer Projektmappe zu erstellen.For example, you can use it to build specific targets of specific projects in a solution. Im folgenden Beispiel wird das Projekt NotInSolutionFolder neu erstellt, und das Projekt InSolutionFolder, das sich im Projektmappenordner NewFolder befindet, wird gelöscht.The following example rebuilds the project NotInSolutionFolder and cleans the project InSolutionFolder, which is in the NewFolder solution folder.

msbuild SlnFolders.sln -t:NotInSolutionfolder:Rebuild;NewFolder\InSolutionFolder:Clean

Siehe auchSee also