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