Кажется, я пропустил День 1 MsBuild 101. Я спрашиваю себя: "Что он делает, что он заменяет, и когда мне это нужно?" так как я могу просто нажать F5 и скомпилировать мое приложение.
Какая большая картина мне не хватает?
Кажется, я пропустил День 1 MsBuild 101. Я спрашиваю себя: "Что он делает, что он заменяет, и когда мне это нужно?" так как я могу просто нажать F5 и скомпилировать мое приложение.
Какая большая картина мне не хватает?
MSBuild
- это платформа для сборки, которая обеспечивает все действия по сборке в мире Visual Studio.
Лучшим, более практичным примером было бы заявить, что
Файлы .csproj
(каждый проект С#) являются файлами msbuild
Когда вы нажимаете F5, вы в основном (упрощенно) вызываете msbuild.exe
и передаете свой файл .csproj
.
MSBuild расширяет возможности работы с F5. От создания папки " debug
" или " release
" до удаления ссылок в каталог bin\
, до вызова CSC
... и всего, что находится между... MSBuild "все".
Если все, что вам когда-либо понадобится при сборке, это вывод, который дает F5, то вы знаете обо всем, что вам, вероятно, нужно знать о MSBuild.
Однако в большинстве коммерческих/практических сценариев разработки наступает момент, когда необходимо настроить процесс сборки. Наиболее распространенным подходом является автоматизация процесса сборки (с использованием TeamBuild или некоторой домашней системы). Вам также может понадобиться
Использование унифицированной и расширяемой платформы сборки (т.е. MSBuild) делает все это возможным, оставаясь при этом частью процесса сборки... сохраняя простую и содержательную часть сборки в конвейере разработки.
Это полезно, когда вы хотите делать автоматические сборки и выполнять процесс сборки
Ключ F5 не является процессом сборки и ссылки в нем (например, это) является хорошим показателем в этом отношении.
Кроме того, ваши файлы проекта Visual Studio являются файлами msbuild. Если вы хотите сделать более сложные вещи при создании (например, запустите javascript minifier, у вас больше контроля над автогенерированными идентификаторами версий, последующей обработкой файлов и т.д.), Вам придется выкапывать в msbuild.
msbuild используется, когда вы хотите построить свой проект из командной строки. Всякий раз, когда вы видите продукт непрерывной интеграции, который будет автоматически строить ваш проект, он вызовет msbuild для выполнения фактического шага сборки.
Я думаю, что серверы сборки должны иметь возможность нажимать клавишу F5 более простым способом, чем через API Windows.
Я знаю, что это довольно устаревшее, но здесь я беру MSBuild.
Это скриптовый инструмент сборки, похожий на ANT. Они используют XML для конфигурации, поэтому вы сможете быстро разобраться в этом. Оба имеют концепцию "Цели", например, имеют много общего в мышлении, если вы знаете ANT, переключатель не должен быть жестким.
Файлы MSBuild, созданные в Visual Studio, действительно похожи на сгенерированные скрипты ANT, которые вы получаете из Eclipse, которые строят ваши проекты, помнят ваши включенные и определяют ваши зависимости. Вы можете изменить их непосредственно для удовольствия и прибыли.
Мне нравится MSBuild, он исправляет некоторые вещи, которые я нахожу раздражающими в отношении ANT.