MSBuild - MSBuild

MSBuild
Разработчики) Microsoft
Первый выпуск 2003 ; 18 лет назад ( 2003 )
Стабильный выпуск
v16.11.0 / 11 августа 2021 г . ; 21 дней назад ( 2021-08-11 )
Репозиторий
Написано в C #
Операционная система Кроссплатформенность
Платформа .NET Framework , .NET Core
Тип Инструмент сборки
Лицензия Лицензия MIT
Веб-сайт документы .microsoft .com / visualstudio / msbuild / msbuild Отредактируйте это в Викиданных

Microsoft Build Engine , более известный как MSBuild , представляет собой бесплатный набор инструментов сборки с открытым исходным кодом для управляемого кода, а также для собственного кода C ++ и был частью .NET Framework . Visual Studio зависит от MSBuild, но не наоборот. Управление жизненным циклом приложений Visual Studio зависит от MSBuild для выполнения командных сборок через Azure DevOps Server .

Обзор

MSBuild это инструмент для сборки , что позволяет автоматизировать процесс создания программного продукта, включая составление в исходный код , упаковки , тестирования, развертывания и создания документации. С помощью MSBuild можно создавать проекты и решения Visual Studio без установленной интегрированной среды разработки Visual Studio . MSBuild бесплатен и имеет открытый исходный код . MSBuild ранее входил в состав .NET Framework ; однако, начиная с Visual Studio 2013 , вместо этого он входит в состав Visual Studio. MSBuild - это функциональная замена утилиты nmake , которая по-прежнему используется в проектах, созданных в более ранних выпусках Visual Studio.

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

MSBuild может построить проект на основе выбранной поддерживаемой версии .NET Framework. Эта функция называется «мультитаргетинг». Однако любая сборка проекта может одновременно нацеливаться только на одну версию платформы.

История

MSBuild был впервые создан в 2003 году для .NET Framework 2.0 для использования в Visual Studio 2005 (кодовое имя Whidbey) и Windows Vista (кодовое имя Longhorn).

Версии

Версия .NET Framework Версия Visual Studio Обычные места установки (x86)
2.0 2.0 2005 г. C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727
3.5 3.5 2008 г. C: \ Windows \ Microsoft.NET \ Framework \ v3.5
4.7.3062.0 4.0 2010 г. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319
4.8.3761.0 4.5.2 2012 г. C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319
12.0 4.5.2 2013 C: \ Program Files (x86) \ MSBuild \ 12.0 \ Bin
14.0 4.6 2015 г. C: \ Program Files (x86) \ MSBuild \ 14.0 \ Bin
15.0 4,7 2017 г.
  • C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin
  • C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ MSBuild \ 15.0 \ Bin
  • C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ MSBuild \ 15.0 \ Bin
16.0 4.7.2 2019 г.
  • C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ BuildTools \ MSBuild \ Current \ Bin
  • C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Enterprise \ MSBuild \ Current \ Bin
  • C: \ Program Files (x86) \ Microsoft Visual Studio \ 2019 \ Community \ MSBuild \ Current \ Bin

Терминология

Цель
Target содержит набор задач для MSBuild для выполнения. В центре внимания MSBuild находится результат Target, указанный при вызове MSBuild с файлом проекта. Это связано с тем, что проект может содержать несколько записей Target , каждая из которых выполняется последовательно (и условно). Последующие зависимые цели выполняются до запрошенной цели. Поток выполнения текущей цели можно направить с помощью следующих атрибутов: Condition, BeforeTargets, AfterTargets и DependsOnTargets. Каждая цель может быть автономной с необходимыми задачами для выполнения. Цель обычно - это действие, выполняемое над файлом, набором файлов или каталогом.
Задача
Задача представляет собой команду , которая выполняется для того , чтобы завершить объект. Задачи используются для группировки и выполнения любого количества действий в процессе сборки. Обычно они реализуются в сборке .NET как класс, который наследуется от класса Task или реализует интерфейс ITask. Многие базовые задачи поставляются как часть .NET Framework, а задачи, разработанные сообществом, находятся в свободном доступе. Некоторые примеры задач включают копирование файлов, создание каталогов или синтаксический анализ XML.
Свойства и предметы
MSBuild предоставляет свойства и элементы , которые концептуально эквивалентны макросам make . Свойства определяют статические значения, тогда как элементы обычно используются для определения наборов файлов или папок, с которыми нужно выполнять Задачи. Указание файлов в элементах упрощается благодаря поддержке подстановочных знаков.

Смотрите также

использованная литература

дальнейшее чтение

внешние ссылки