Справочные сведения о командной строке MSBuild

Обновлен: Ноябрь 2007

Программа MSBuild.exe собирает заданный проект или файл решения с указанными параметрами.

MSBuild.exe [Switches] [ProjectFile]

Аргументы

Аргумент

Описание

ProjectFile

Собирает цели, указанные в файле проекта. Если файл проекта не задан, MSBuild ищет в текущем рабочем каталоге файл с расширением, которое оканчивается символами "proj" или "sln", и использует этот файл. Этот аргумент также принимает файлы решений Visual Studio 2005.

Переключатели

Переключатель

Описание

/help

Отображает сведения об использовании. /? и /h также являются допустимыми формами. Пример:

Msbuild.exe /?

/nologo

Отключает вывод заголовка и сообщения с указанием авторских прав при запуске.

/version

Отображает только сведения о версии. Допустима также форма /ver.

@file

Вставляет параметры командной строки из текстового файла. Каждый файл ответов задается отдельно. Дополнительные сведения см. в разделе Файлы ответов MSBuild.

/noautoresponse

Отменяет автоматическое включение файла MSBuild.rsp. Допустима также форма /noautorsp.

/target:targets

Вызывает построение указанных целей в данном проекте. Если целей несколько, их следует разделять точкой с запятой или запятой, либо же указывать каждую цель отдельно. Допустима также форма /t. Пример:

/target:Resources;Compile

/property:name=value

Задает или переопределяет свойства уровня проекта, где name – имя свойства, а value – значение свойства. Если свойств несколько, их следует разделять точкой с запятой или запятой, либо же указывать каждое свойство отдельно. Допустима также форма /p. Пример:

/property:WarningLevel=2;OutputDir=bin\Debug

/logger:logger

Задает средство ведения журнала, которое следует использовать для протоколирования событий от MSBuild. Если требуется использовать несколько средств ведения журнала, каждое из них необходимо указать отдельно.

Для задания средства ведения журнала используется следующий синтаксис:

[LoggerClass,]LoggerAssembly[;LoggerParameters]

Для LoggerClass используется следующий синтаксис:

[PartialOrFullNamespace.]LoggerClassName

ms164311.alert_note(ru-ru,VS.90).gifПримечание.
Если в сборке имеется ровно одно средство ведения журнала, его класс указывать необязательно.

Для LoggerAssembly используется следующий синтаксис:

{AssemblyName[,StrongName] | AssemblyFile}

Параметры средства ведения журнала задавать необязательно. Они передаются в средство ведения журнала в точности так, как они введены. Пример:

/logger:XMLLogger,C:\Loggers\MyLogger.dll;OutputAsHTML

/distributedlogger:<центральное средство ведение журнала>*<средство ведения журнала переадресации>

Используйте это средство ведения журнала для протоколирования событий от MSBuild. Если требуется использовать несколько средств ведения журнала, каждое из них необходимо указать отдельно. (Краткая форма – /dl).

Для задания средства ведения журнала используется следующий синтаксис:

[<класс средства ведения журнала>,]<сборка средства ведения журнала>[;<параметры средства ведения журнала>]

Для задания класса средства ведения журнала используется следующий синтаксис:

[<частичное или полное пространство имен>.]<имя класса средства ведения журнала>

Для задания сборки средства ведения журнала используется следующий синтаксис: {<имя сборки>[,<строгое имя>] | <файл сборки>}

Параметры средства ведения журнала задавать необязательно. Они передаются в средство ведения журнала в точности так, как они введены. (Краткая форма – /l).

Примеры: /dl:XMLLogger,MyLogger,Version=1.0.2,Culture=neutral

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

/consoleloggerparameters:parameters

Задает параметры для передачи средству ведения журнала консоли. Допустима также форма /clp. Доступны следующие параметры.

  • PerformanceSummary: отображает время, затраченное на выполнение задач и сборку целей и проектов.

  • NoSummary: подавляет вывод сводной информации об ошибках и предупреждениях по окончании построения.

  • NoItemAndPropertyList: подавляет вывод списка элементов и свойств перед началом построения каждого проекта при уровне детализации diagnostic.

/verbosity:level

Предписывает отображать указанное количество информации в журнале построения. События отображаются отдельными средствами ведения журнала исходя из уровня детализации. Средство ведения журнала можно также настроить на игнорирование установленного уровня детализации.

Доступны следующие уровни детализации: q[uiet], m[inimal], n[ormal], d[etailed] и diag[nostic]. Допустима также форма /v. Пример:

/verbosity:quiet

/noconsolelogger

Отключает заданное по умолчанию средство ведения журнала консоли и отключает протоколирование событий в консоли. Допустима также форма /noconlog.

/validate:schema

Инициирует проверку файла проекта, а затем построение проекта (при успешном прохождении проверки).

Если аргумент schema отсутствует, проверка проекта происходит по заданной по умолчанию схеме.

Если аргумент schema указан, проверка проекта происходит по указанной схеме.

/maxcpucount:number

Задает число рабочих процессов, участвующих в построении. Например, C:\Windows\WinFX\v3.5>msbuild.exe *.proj /maxcpucount:3. В этом примере программе MSBuild предписывается выполнить сборку с использованием трех процессов MSBuild.exe; таким образом, разрешается параллельное построение трех проектов. Допустима также форма /m.

/ignoreprojectextensions:<расширения>

Список расширений, которые следует игнорировать при выборе файла проекта для построения. Если расширений несколько, они разделяются точкой с запятой или запятой. (Краткая форма – /ignore.) Пример: /ignoreprojectextensions:.vcproj,.sln

/fileLogger

Задает вывод журнала построения в единый файл ("msbuild.log") в текущем каталоге. Местоположение файла и другие параметры для переключателя fileLogger можно задать, добавив переключатель "/fileLoggerParameters". (Краткая форма – /fl.)

/distributedFileLogger

Задает вывод журнала построения в несколько файлов – по одному файлу журнала на узел MSBuild. Исходным местоположением данных файлов является текущий каталог. По умолчанию файлам присваиваются имена вида "MSBuild<идентификатор узла>.log". Местоположение файлов и другие параметры для переключателя fileLogger можно задать, добавив переключатель "/fileLoggerParameters".

Если имя файла журнала задается с помощью переключателя fileLoggerParameters, то для создания файла журнала каждого узла распределенное средство ведения журнала будет использовать fileName в качестве шаблона и присоединять к нему идентификатор узла.

/fileloggerparameters:<параметры>

Задает параметры для средства ведения журнала в файле (в т. ч. распределенного). (Краткая форма – /flp.)

Доступны следующие параметры:

LogFile– путь к файлу журнала, в который записывается журнал построения. Распределенное средство ведения журнала в файле использует этот путь в качестве префикса для имен своих журналов.

Append– определяет метод записи журнала построения в файл журнала (добавление в конец или перезапись). Если этот переключатель установлен, журнал построения присоединяется в конец файла журнала. Если этот переключатель не установлен, содержимое файла журнала перезаписывается. По умолчанию выбрана перезапись.

Verbosity– переопределяет заданный по умолчанию уровень детализации detailed.

Encoding– задает кодировку файла, например UTF-8.

Можно также использовать любые параметры средства ведения журнала консоли. Пример: /fileLoggerParameters:LogFile=MyLog.log;Append; Verbosity=diagnostic;Encoding=UTF-8.

/toolsversion:version

Задает версию набора инструментов, используемую для построения проекта. Эта команда позволяет построить проект, используя версию набора инструментов, отличную от той, которая задана в разделе Элемент Project (MSBuild). Пример:

C:\Windows\WinFX\v3.5>msbuild.exe *.proj /ToolsVersion:3.5 /p:Configuration=Debug

Допустимы следующие значения version: 2.0, 3.0 и 3.5. Дополнительные сведения о наборах инструментов см. в разделе Построение под конкретную платформу .NET Framework.

/nodeReuse:<параметры>

Включает или отключает повторное использование узлов MSBuild. Имеются следующие параметры:

True– узлы сохраняются по завершении построения и используются повторно при последующих построениях.

False– узлы не сохраняются по завершении построения. (Краткая форма: /nr.) Пример: /nr:true

Заметки

Чтобы передать параметры заданному по умолчанию средству ведения журнала консоли, сначала отключите его переключателем /noconsolelogger, а затем укажите его, используя синтаксис /logger. Например, чтобы отобразить сводку производительности, обычно выводимую только при уровне детализации diagnostic, используйте следующую командную строку:

msbuild myproject.csproj /noconsolelogger /l:ConsoleLogger,Microsoft.Build.Engine.dll;performancesummary

Пример

В следующем примере производится построение цели rebuild проекта MyProject.proj.

MSBuild.exe MyProject.proj /t:rebuild

Программу MSBuild.exe можно использовать и для выполнения более сложного построения. Например, с ее помощью можно построить конкретные цели тех или иных проектов в решении. В следующем примере производится пересборка проекта NotInSolutionFolder и очистка проекта InSolutionFolder, находящегося в папке решения NewFolder.

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

См. также

Другие ресурсы

Справочные сведения о MSBuild