MSBuild

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

MSBuild — платформа сборки проекта, разработанная Microsoft. Обычно применяется в сочетании с Visual Studio. MSBuild версии 2.0 является частью .NET Framework 2.0 и предназначен для работы с Visual Studio 2005. Версия MSBuild 3.5, объединённая с .NET 3.5 (и Visual Studio 2008), позволяет собирать проекты с поддержкой .NET версий 2.0, 3.0 или 3.5 на выбор (т. н. «многоцелевая сборка», или multi-targeting).

Так как MSBuild доступен в составе .NET, то можно собирать проекты и решения Visual Studio без установленной IDE Visual Studio. MSBuild не требует дополнительных денежных отчислений.

MSBuild обрабатывает специальные файлы проекта MSBuild, имеющие схожий XML-синтаксис с Apache Ant и NAnt. Несмотря на то, что синтаксис базируется на правильно оформленной (well-defined) XML-схеме, основная структура и обработка схожа с традиционной Unix-утилитой Make: пользователь указывает исходные файлы (как правило, это файлы с исходным кодом) и что должно получиться в результате (обычно — готовое приложение), а утилита сама решает, что и в каком порядке нужно делать.

NMAKE[править | править вики-текст]

MSBuild — функциональная замена утилите nmake. Последняя всё ещё используется в проектах, написанных на старых версиях Visual Studio.

Цель (Target)[править | править вики-текст]

Задача инструмента — результирующая цель (Target), указываемая при вызове MSBuild для проектного файла. Подчиненные зависимые цели достигаются прежде основной цели. Каждая цель может содержать в себе описание необходимых задач (Tasks) для её достижения. Цель, как правило, представляет из себя действие над файлом, набором файлов или каталогом.

Задача (Task)[править | править вики-текст]

Задача (Task) — команда, которую нужно выполнить для достижения цели (Target). Задача обычно реализуется в виде .NET-сборки как класс, наследующий интерфейс ITask от класса задачи или реализующий его. Существуют намного более удобные и готовые к использованию базовые задачи, поставляемые в составе .NET Framework, причем сообщество, разрабатывающее эти задачи, открытое и легко доступно.

Свойства и элементы[править | править вики-текст]

В дополнение к вышеперечисленному MSBuild обеспечивает поддержку свойств (Properties) и элементов (Items), которые концептуально схожи с макросами для Make. Свойства определяют статические значения, тогда как элементы обычно используются для определения набора файлов/папок, необходимых для выполнения задачи. Указание файлов в элементах упрощается за счет поддержки групповых символов (wildcards).

Team Foundation Build[править | править вики-текст]

Visual Studio Team System также зависит от MSBuild при выполнении текущих командных сборок (Team Builds) на Team Foundation Server. Сборки по большей части выполняются не непосредственно на сервере, а на одном или нескольких удаленных серверах сборки (Build Servers) при установленном необходимом программном обеспечении (например, Team Foundation Server (Build)).

Ссылки[править | править вики-текст]