внешний файл для хранения задач msbuild - PullRequest
6 голосов
/ 19 августа 2010

Я создал несколько задач сборки ms для моего проекта VS.

Вместо того, чтобы обновлять файл проекта VS каждой из задач, можно создать внешний файл для хранения задач сборки иссылаться на него через основной файл проекта?

Кроме того, я видел с помощью nant, что вы можете создать файл .bat для запуска задач nant.Можно ли сделать подобное с msbuild?

1 Ответ

7 голосов
/ 20 августа 2010

Да. Вы можете использовать задачу импорта:

<Import Project="PathToMyIncludeFile\Include.proj" />

И да, вы можете создать командный файл для запуска msbuild. Синтаксис

msbuild <project> /t:target[;target] /p:propertyname=propertyvalue

Где цели определены в файле msbuild, а свойства - это любые свойства, определенные в файле. Если вы не укажете цель, будет выполнено заданное по умолчанию значение в элементе файла msbuild. Вот пара примеров:

Итак, чтобы запустить сборку с целями Clean и Compile:

msbuild myproject.proj /t:Clean;Compile

Или для запуска сборки с целью компиляции и конфигурацией выпуска:

msbuild myproject.proj /t:Compile /p:Configuration=Release

Или чтобы запустить сборку с целью по умолчанию и установить свойство версии:

msbuild myproject.proj /p:Version=2.0.0.1

Параметры командной строки имеют приоритет над значениями, определенными в файле. Таким образом, в приведенном выше примере, если у вас была определена версия в файле как:

<PropertyGroup>
    <Version>1.0.0.0</Version>
<PropertyGroup>

Сборка будет работать с настроенной версией 2.0.0.1

Как обычно, проверьте MSDN для получения дополнительной информации.

...