MSBuild - MSBuild
Разработчики) | Microsoft |
---|---|
Первый выпуск | 2003 |
Стабильный выпуск | v16.11.0 / 11 августа 2021 г .
|
Репозиторий | |
Написано в | C # |
Операционная система | Кроссплатформенность |
Платформа | .NET Framework , .NET Core |
Тип | Инструмент сборки |
Лицензия | Лицензия MIT |
Веб-сайт |
документы |
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 г. |
|
16.0 | 4.7.2 | 2019 г. |
|
Терминология
- Цель
- Target содержит набор задач для MSBuild для выполнения. В центре внимания MSBuild находится результат Target, указанный при вызове MSBuild с файлом проекта. Это связано с тем, что проект может содержать несколько записей Target , каждая из которых выполняется последовательно (и условно). Последующие зависимые цели выполняются до запрошенной цели. Поток выполнения текущей цели можно направить с помощью следующих атрибутов: Condition, BeforeTargets, AfterTargets и DependsOnTargets. Каждая цель может быть автономной с необходимыми задачами для выполнения. Цель обычно - это действие, выполняемое над файлом, набором файлов или каталогом.
- Задача
- Задача представляет собой команду , которая выполняется для того , чтобы завершить объект. Задачи используются для группировки и выполнения любого количества действий в процессе сборки. Обычно они реализуются в сборке .NET как класс, который наследуется от класса Task или реализует интерфейс ITask. Многие базовые задачи поставляются как часть .NET Framework, а задачи, разработанные сообществом, находятся в свободном доступе. Некоторые примеры задач включают копирование файлов, создание каталогов или синтаксический анализ XML.
- Свойства и предметы
- MSBuild предоставляет свойства и элементы , которые концептуально эквивалентны макросам make . Свойства определяют статические значения, тогда как элементы обычно используются для определения наборов файлов или папок, с которыми нужно выполнять Задачи. Указание файлов в элементах упрощается благодаря поддержке подстановочных знаков.
Смотрите также
использованная литература
дальнейшее чтение
- Крецлер, Брайан (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 Developer (на немецком языке). Heinz Heise . Проверено 11 апреля 2013 года .
- Джонс, Майк; Уоррен, Женевьева; Блом, Майк; Робертсон, Колин; Хогенсон, Гордон; Цай, Сайсанг (4 ноября 2016 г.). «Целевая платформа и целевая платформа MSBuild» . MSBuild. Документы Microsoft . Проверено 19 февраля 2018 .