MSBuild - MSBuild

MSBuild
Разработчики)Microsoft
изначальный выпуск2003; 17 лет назад (2003)
Стабильный выпуск
v16.7.0.37604 / 26 июля 2020 г.; 4 месяца назад (2020-07-26)[1]
Репозиторий Отредактируйте это в Викиданных
Написано вC #
Операционная системаКроссплатформенность
Платформа.NET Framework, .NET Core
ТипИнструмент сборки
ЛицензияЛицензия MIT
Интернет сайтдокументы.microsoft.com/ visualstudio/ msbuild/ msbuild Отредактируйте это в Викиданных

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

Обзор

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

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

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

История

MSBuild был впервые создан в 2003 году для .NET Framework 2.0 для использования в Visual Studio 2005 (кодовое название Whidbey)[8] и Виндоус виста (кодовое название Longhorn).[9][10]

Версии

Версия.NET FrameworkВерсия Visual StudioОбычные места установки (x86)[11]
2.02.02005C: WindowsMicrosoft.NETFrameworkv2.0.50727
3.53.52008C: WindowsMicrosoft.NETFrameworkv3.5
4.7.3062.04.02010C: WindowsMicrosoft.NETFrameworkv4.0.30319
4.8.3761.04.5.22012C: WindowsMicrosoft.NETFrameworkv4.0.30319
12.0[6]4.5.22013C: Программные файлы (x86) MSBuild12.0Bin
14.04.62015C: Программные файлы (x86) MSBuild14.0Bin
15.0[12]4.72017
  • C: Программные файлы (x86) Microsoft Visual Studio2017BuildToolsMSBuild15.0Bin
  • C: Программные файлы (x86) Microsoft Visual Studio2017ПредприятиеMSBuild15.0Bin
  • C: Программные файлы (x86) Microsoft Visual Studio2017СообществоMSBuild15.0Bin
16.0[13]4.7.22019C: Программные файлы (x86) Microsoft Visual Studio2019ПредприятиеMSBuildCurrentBin

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

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

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

Рекомендации

  1. ^ "Последний релиз". Microsoft / msbuild. GitHub. Microsoft. Получено 2020-09-13.
  2. ^ «microsoft / msbuild: Microsoft Build Engine (MSBuild) - это платформа сборки для .NET и Visual Studio». GitHub. Microsoft. Получено 2019-07-23.
  3. ^ Хашими, Сайед Ибрагим; Варфоломей, Уильям (2009). Внутри Microsoft Build Engine: использование MSBuild и Team Foundation Build. Microsoft Press. п. 406. ISBN  978-0-7356-2628-7.
  4. ^ а б "MSBuild". MSBuild. Документы Microsoft. Получено 2019-07-23.
  5. ^ Лендер, Рич (18 марта 2015 г.). «MSBuild Engine теперь является открытым исходным кодом на GitHub». Блог .NET. Блоги MSDN. Microsoft. Получено 2019-07-23.
  6. ^ а б «Что нового в MSBuild 12.0». MSBuild. Документы Microsoft. Получено 2019-07-23.
  7. ^ "Обзор мультитаргетинга MSBuild". MSBuild. Документы Microsoft. Получено 2019-07-23.
  8. ^ «Сборка, тестирование и развертывание». Что нового в Visual Studio 2005. MSDN. Microsoft. Архивировано из оригинал on 2014-08-26.
  9. ^ Снит, Тим (19 июля 2004 г.). «MSBuild: новая система сборки для Visual Studio 2005 и Longhorn». Тим Снит. Блоги MSDN. Получено 2018-04-22.
  10. ^ Англия, Чак (25 февраля 2010 г.). «Начало работы с MSBuild». Блог Visual Studio. Блоги MSDN. Получено 2018-04-22.
  11. ^ «Стандартные и настраиваемые конфигурации Toolset». MSBuild. Документы Microsoft. Получено 2019-07-23.
  12. ^ «Что нового в MSBuild 15». MSBuild. Документы Microsoft. Получено 2019-07-23.
  13. ^ «Что нового в MSBuild 16.0». MSBuild. Документы Microsoft. Получено 2019-07-23.
  14. ^ «Справочник по задачам MSBuild». MSBuild. Документы Microsoft. Получено 2019-07-23.

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

внешняя ссылка