MSBuild - MSBuild
Разработчики) | Microsoft |
---|---|
изначальный выпуск | 2003 |
Стабильный выпуск | v16.7.0.37604 / 26 июля 2020 г.[1] |
Репозиторий | |
Написано в | C # |
Операционная система | Кроссплатформенность |
Платформа | .NET Framework, .NET Core |
Тип | Инструмент сборки |
Лицензия | Лицензия MIT |
Интернет сайт | документы |
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.0 | 2.0 | 2005 | C: WindowsMicrosoft.NETFrameworkv2.0.50727 |
3.5 | 3.5 | 2008 | C: WindowsMicrosoft.NETFrameworkv3.5 |
4.7.3062.0 | 4.0 | 2010 | C: WindowsMicrosoft.NETFrameworkv4.0.30319 |
4.8.3761.0 | 4.5.2 | 2012 | C: WindowsMicrosoft.NETFrameworkv4.0.30319 |
12.0[6] | 4.5.2 | 2013 | C: Программные файлы (x86) MSBuild12.0Bin |
14.0 | 4.6 | 2015 | C: Программные файлы (x86) MSBuild14.0Bin |
15.0[12] | 4.7 | 2017 |
|
16.0[13] | 4.7.2 | 2019 | C: Программные файлы (x86) Microsoft Visual Studio2019ПредприятиеMSBuildCurrentBin |
Терминология
Эта секция может быть сбивает с толку или неясно читателям. В частности, неясно, о чем идет речь в этом разделе и какова природа, скажем, «цели» или «задачи». Примеры помогут.апрель 2013) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
- Цель
- А Цель содержит набор задач для выполнения MSBuild. В центре внимания MSBuild - результат Цель указывается при вызове MSBuild с файлом проекта. Это потому, что Проект может содержать несколько Цель записи, каждая из которых выполняется последовательно (и условно). Последующие зависимые цели выполняются до запрошенной цели. Поток выполнения текущего Цель можно направлять с помощью следующих атрибутов: Condition, BeforeTargets, AfterTargets и DependsOnTargets. Каждая цель может быть автономной с необходимыми задачами для выполнения. Цель обычно - это действие, выполняемое над файлом, набором файлов или каталогом.
- Задача
- А Задача - это команда, которая выполняется для выполнения цели. Задачи используются для группировки и выполнения любого количества действий в процессе сборки. Обычно они реализуются в сборке .NET как класс, который наследуется от класса Task или реализует интерфейс ITask. Многие основные задачи поставляются как часть .NET Framework,[14] и задачи, разработанные сообществом, находятся в свободном доступе. Некоторые примеры Задачи включая копирование файлов, создание каталогов или анализ XML.
- Свойства и предметы
- MSBuild предоставляет Характеристики и Предметы, которые концептуально эквивалентны сделать макросы. Свойства определяют статические значения, тогда как элементы обычно используются для определения наборов файлов или папок, с которыми нужно выполнять задачи. Указание файлов в элементах упрощается благодаря поддержке подстановочных знаков.
Смотрите также
Рекомендации
- ^ "Последний релиз". Microsoft / msbuild. GitHub. Microsoft. Получено 2020-09-13.
- ^ «microsoft / msbuild: Microsoft Build Engine (MSBuild) - это платформа сборки для .NET и Visual Studio». GitHub. Microsoft. Получено 2019-07-23.
- ^ Хашими, Сайед Ибрагим; Варфоломей, Уильям (2009). Внутри Microsoft Build Engine: использование MSBuild и Team Foundation Build. Microsoft Press. п. 406. ISBN 978-0-7356-2628-7.
- ^ а б "MSBuild". MSBuild. Документы Microsoft. Получено 2019-07-23.
- ^ Лендер, Рич (18 марта 2015 г.). «MSBuild Engine теперь является открытым исходным кодом на GitHub». Блог .NET. Блоги MSDN. Microsoft. Получено 2019-07-23.
- ^ а б «Что нового в MSBuild 12.0». MSBuild. Документы Microsoft. Получено 2019-07-23.
- ^ "Обзор мультитаргетинга MSBuild". MSBuild. Документы Microsoft. Получено 2019-07-23.
- ^ «Сборка, тестирование и развертывание». Что нового в Visual Studio 2005. MSDN. Microsoft. Архивировано из оригинал on 2014-08-26.
- ^ Снит, Тим (19 июля 2004 г.). «MSBuild: новая система сборки для Visual Studio 2005 и Longhorn». Тим Снит. Блоги MSDN. Получено 2018-04-22.
- ^ Англия, Чак (25 февраля 2010 г.). «Начало работы с MSBuild». Блог Visual Studio. Блоги MSDN. Получено 2018-04-22.
- ^ «Стандартные и настраиваемые конфигурации Toolset». MSBuild. Документы Microsoft. Получено 2019-07-23.
- ^ «Что нового в MSBuild 15». MSBuild. Документы Microsoft. Получено 2019-07-23.
- ^ «Что нового в MSBuild 16.0». MSBuild. Документы Microsoft. Получено 2019-07-23.
- ^ «Справочник по задачам MSBuild». MSBuild. Документы Microsoft. Получено 2019-07-23.
дальнейшее чтение
- Крецлер, Брайан (2011). Уловки MSBuild: 99 способов подчинить движок сборки. K Cross Seven Ranch Company. п. 426. ISBN 978-0-615-50907-5.
- Хашими, Сайед Ибрагим (июнь 2006 г.). «Внутри MSBuild: компиляция приложений с пользовательскими задачами для Microsoft Build Engine». Журнал MSDN. Microsoft. Архивировано из оригинал 11 апреля 2015 г.. Получено 11 апреля 2013.
- Хашими, Сайед Ибрагим (март 2007 г.). «Уловки WiX: автоматизация выпусков с помощью MSBuild и установщика Windows XML». Журнал MSDN. Microsoft. Получено 11 апреля 2013.
- Хашими, Сайед Ибрагим (февраль 2009 г.). «MSBuild: передовые методы создания надежных сборок, часть 1». Журнал MSDN. Microsoft. Получено 11 апреля 2013.
- Хашими, Сайед Ибрагим (март 2009 г.). «MSBuild: передовые методы создания надежных сборок, часть 2». Журнал MSDN. Microsoft. Получено 11 апреля 2013.
- Рейф, Андреас (10 июня, 2010 г.). "Einführung в Microsoft Build-Management-Technik MSBuild" [Введение в технологию управления сборкой Microsoft, MSBuild]. Разработчик Heise (на немецком). Heinz Heise. Получено 11 апреля 2013.
- Джонс, Майк; Уоррен, Женевьева; Блом, Майк; Робертсон, Колин; Хогенсон, Гордон; Цай, Сайсанг (4 ноября 2016 г.). «Целевая платформа и целевая платформа MSBuild». MSBuild. Документы Microsoft. Получено 2018-02-19.