MSBuild: Что это и когда мне это нужно? - PullRequest
37 голосов
/ 30 августа 2010

Кажется, я пропустил первый день MsBuild 101. Я спрашиваю себя: «Что он делает, что он заменяет и когда он мне нужен?»так как я могу просто нажать F5 и скомпилировать свое приложение.

Какая общая картина мне не хватает?

Ответы [ 5 ]

48 голосов
/ 31 августа 2010

MSBuild - это платформа сборки, которая обеспечивает все действия по сборке в мире Visual Studio.

Лучшим, более практичным примером будет утверждение, что

  1. Файлы .csproj (каждый проект C #): msbuild файлы

  2. Когда вы нажимаете F5 , вы в основном (слишком упрощаете) звоните msbuild.exe и передаете свой файл .csproj.

MSBuild расширяет возможности всего, что делает ударом по F5 . От создания папки "debug" или "release" до удаления ссылок в каталог bin\, до вызова CSC ... и всего, что находится между ... MSBuild "все" приводит в действие.

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

Однако в большинстве коммерческих / практических сценариев разработки наступает момент, когда необходимо настроить процесс сборки. Наиболее распространенным подходом является автоматизация процесса сборки (с использованием TeamBuild или некоторой домашней системы). Вам также может понадобиться

  • создать «упакованное» развертывание
  • ссылка на другую библиотеку за пределами вашего проекта, которая также активно разрабатывается
  • опубликуйте свою сборку на FTP и отправьте электронное письмо клиенту с уведомлением их о его доступности.

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

2 голосов
/ 30 августа 2010

Это полезно, когда вы хотите делать автоматические сборки и должны реализовывать процесс сборки

Ключ F5 - это не процесс сборки и ссылки в нем (например, this ) хорошо читается в этом отношении.

Кроме того, ваши файлы проекта Visual Studio являются файлами msbuild.Если вы хотите делать более сложные вещи при сборке (например, запускать javascript minifier, иметь больший контроль над автоматически сгенерированными идентификаторами версий, постобработкой файлов и т. Д.), Вам придется углубиться в msbuild.

1 голос
/ 31 августа 2010

Я думаю, что серверы сборки должны иметь возможность нажимать клавишу F5 более простым способом, чем через Windows API.

1 голос
/ 30 августа 2010

msbuild используется, когда вы хотите собрать свой проект из командной строки.Всякий раз, когда вы видите продукт непрерывной интеграции, который автоматически создаст ваш проект, он вызовет msbuild для выполнения фактического шага сборки.

0 голосов
/ 13 мая 2011

Я знаю, что это довольно устарело, но вот мой взгляд на MSBuild.

Это инструмент для сборки на основе сценариев, очень похожий на ANT.Они оба используют XML для конфигурации, так что вы сможете понять это довольно быстро.Например, у обоих есть понятие «цели», гораздо большее сходство в мышлении, если вы знаете, что ANT, переключение не должно быть жестким.

Файлы MSBuild, сгенерированные из Visual Studio, действительно похожи на сгенерированные сценарии ANT, которые вы получаетеиз Eclipse, который строит ваши проекты, помните ваши включения и определяйте ваши зависимости.Вы можете изменить их напрямую для удовольствия и прибыли.

Мне нравится MSBuild, он исправляет некоторые вещи, которые меня раздражают в ANT.

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