Это не официальный сайт wikipedia.org 01.01.2023

MSBuild — Википедия

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
Логотип программы MSBuild
Тип Автоматизация сборки с синтаксисом XML
Разработчик .NET Foundation
Написана на C#
Операционная система Linux, macOS, Windows
Последняя версия 17.3.1[1] (15 августа 2022; 5 месяцев назад (2022-08-15))
Читаемые форматы файлов MSBuild Project[d] и MSBuild website Project (UTF-8)[d]
Создаваемые форматы файлов MSBuild Project[d] и MSBuild website Project (UTF-8)[d]
Лицензия лицензия MIT[2]
Сайт docs.microsoft.com/visua…

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

MSBuild обрабатывает специальные файлы проекта MSBuild, имеющие схожий с Apache Ant и NAnt XML-синтаксис. Несмотря на то, что синтаксис базируется на правильно оформленной (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)).

ПримечанияПравить

  1. v17.3.1.
  2. Лицензия в репозитории Github  (неопр.). Дата обращения: 12 июля 2020. Архивировано 16 мая 2017 года.

СсылкиПравить