MSBuild

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

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

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