Как начать на MS-Build - PullRequest
       16

Как начать на MS-Build

7 голосов
/ 27 июля 2010

Я хочу начать использовать MS-Build. У меня есть много проектов, которые я строю вручную (из Visual Studio) на данный момент. Я хочу автоматизировать процесс сборки, желательно с компьютера, на который я не хочу устанавливать Visual Studio. Я начал читать о MS-Build на MSDN. Но мне еще предстоит получить пошаговое руководство, с чего начать и как это сделать. Мои вопросы:

  1. Как мне запустить MS-Build? Есть ли возможность загрузки?
  2. Какой первый шаг?
  3. Как создать скрипт MS-Build?

И много похожих вопросов. Кто-нибудь может направить меня?

Ответы [ 2 ]

11 голосов
/ 27 июля 2010

MS Build поставляется с самим .NET Framework, а исполняемый файл (msbuild.exe) находится в каталоге .NET-framework, что-то вроде (в зависимости от версии):

  • C: \WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319
  • C: \ WINDOWS \ Microsoft.NET \ Framework \ v3.5
  • C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727

(Правильная версия также указана в% path% при использовании «командной строки Visual Studio» из меню «Пуск».)

Файлы MsBuild представляют собой xml-файлы.Вы можете начать с создания нового текстового файла, скажем, «c: \ myscript.msbuild», и скопировать его в файл:

<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Target Name="MyTarget">
    <Message Text="Hello world!" Importance="high"/>
  </Target>
</Project>

Затем перейдите в командную строку и введите:

C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c: \ myscript.msbuild

Это хорошее начало.:)

Тогда вы можете настроить цели и свойства.Второй пример:

<Project DefaultTargets="All" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup Condition="'$(MyCondition)' == 'x'" >
    <MyProperty>World2</MyProperty>
  </PropertyGroup>
  <Target Name="MyTarget">
    <Message Text="Hello" Importance="high"/>
    <Message Text="$(MyProperty)" Importance="high"/>
  </Target>
  <Target Name="MyTarget2">
  </Target>
  <Target Name="All">
     <CallTarget Targets="MyTarget" />
     <CallTarget Targets="MyTarget2" />
  </Target>
</Project>

C: \ WINDOWS \ Microsoft.NET \ Framework \ v4.0.30319 \ msbuild.exe c: \ myscript.msbuild / target: mytarget / property: MyCondition = x

Вы также можете создавать файлы внутри build-файлов.

<Project DefaultTargets="MyTarget" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <Import Project="MyExternalProperties.msbuild"/>
  <Target Name="MyTarget">
    <Exec Command="echo Hello world 3"/>
  </Target>
</Project>
8 голосов
/ 27 июля 2010

MSBuild похож на другие продукты сборки, такие как NAnt (на всякий случай, если вы использовали один из них), но в некоторых отношениях он все же отличается.

Вот хорошая стартовая страница в MSDN. Существует множество различных библиотек задач MSBuild, выпущенных по разным лицензиям, большинство из которых я видел совершенно бесплатно для использования и поставляется с исходным кодом. Вероятно, два самых больших:

Другие хорошие места для получения информации:

  • блог команды MSBuild
  • MSBuild Book
  • блог Саида Ибрагима Хашими (который невероятно хорошо осведомлен о продукте, но до недавнего времени не работал на MS). Он также зависает здесь на SO и может наткнуться на этот вопрос.

Этого должно быть достаточно, чтобы начать. Если вы не можете найти задачу, чтобы сделать то, что вы хотите, просто напишите ее себе - это очень легко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...