Подтвердить что ты не робот

MSBuild: Что это такое, и когда мне это нужно?

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

Какая большая картина мне не хватает?

4b9b3361

Ответ 1

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

Лучшим, более практичным примером было бы заявить, что

  1. Файлы .csproj (каждый проект С#) являются файлами msbuild

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

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

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

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

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

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

Ответ 2

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

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

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

Ответ 3

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

Ответ 4

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

Ответ 5

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

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

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

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