MSBuild: различия между версиями

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
[непроверенная версия][непроверенная версия]
Содержимое удалено Содержимое добавлено
уточнение исправление
Спасено источников — 1, отмечено мёртвыми — 0. Сообщить об ошибке. См. FAQ.) #IABot (v2.0.9.5
 
(не показано 10 промежуточных версий 6 участников)
Строка 1: Строка 1:
{{Карточка программы
{{Карточка программы
| название = MSBuild
| название = MSBuild
| logo = MSBuild logo.png
| logo size = 64px
| тип = [[Автоматизация сборки]] с синтаксисом [[XML]]
| тип = [[Автоматизация сборки]] с синтаксисом [[XML]]
| разработчик = [[Microsoft]]
| разработчик = [[.NET Foundation]]
| написана на = [[C Sharp|C#]]
| написана на = [[C Sharp|C#]]
| операционные системы = [[Linux]], [[macOS]], [[Windows]]
| последняя версия = 16.6.0.22303 (24 апреля 2020)<ref name="Тэг в официальном репозитории">[https://github.com/microsoft/msbuild/releases/tag/v16.6.0.22303 Последняя версия в репозитории Github]</ref>
| последняя версия = 17.3.1<ref>{{Cite news|title=v17.3.1|url=https://github.com/dotnet/msbuild/releases/tag/v17.3.1|accessdate=2023-01-25|archivedate=2023-02-19|archiveurl=https://web.archive.org/web/20230219123810/https://github.com/dotnet/msbuild/releases/tag/v17.3.1}}</ref>
| лицензия = [[лицензия MIT]]<ref name="Лицензия в официальном репозитории">[https://github.com/microsoft/msbuild/blob/master/LICENSE Лицензия в репозитории Github]</ref>
| дата последней версии = {{start date and age|2022|08|15}}
| лицензия = [[лицензия MIT]]<ref name="Лицензия в официальном репозитории">{{Cite web |url=https://github.com/microsoft/msbuild/blob/master/LICENSE |title=Лицензия в репозитории Github |access-date=2020-07-12 |archive-date=2017-05-16 |archive-url=https://web.archive.org/web/20170516161802/https://github.com/Microsoft/msbuild/blob/master/LICENSE |deadlink=no }}</ref>
| сайт = [https://docs.microsoft.com/visualstudio/msbuild/msbuild]
| сайт = [https://docs.microsoft.com/visualstudio/msbuild/msbuild]
}}
}}
Строка 31: Строка 35:


== Примечания ==
== Примечания ==
<nowiki/>{{примечания}}
https://github.com/microsoft/msbuild/releases/tag/v16.6.0.22303

https://github.com/microsoft/msbuild/blob/master/LICENSE

https://docs.microsoft.com/visualstudio/msbuild/msbuild<nowiki/>{{примечания}}


== Ссылки ==
== Ссылки ==
Строка 41: Строка 41:
* [https://web.archive.org/web/20080421122017/http://msdn2.microsoft.com/en-us/library/ms181710.aspx Team Foundation Build overview]
* [https://web.archive.org/web/20080421122017/http://msdn2.microsoft.com/en-us/library/ms181710.aspx Team Foundation Build overview]
* [http://sedodream.com Popular MSBuild Blog]
* [http://sedodream.com Popular MSBuild Blog]
* [http://msbuildtasks.tigris.org Open Source MSBuild Community Tasks Project]
* [http://msbuildtasks.tigris.org Open Source MSBuild Community Tasks Project] {{Wayback|url=http://msbuildtasks.tigris.org/ |date=20100610095025 }}
* [https://web.archive.org/web/20080906133723/http://msdn.microsoft.com/msdnmag/issues/06/06/InsideMSBuild/default.aspx Inside MSBuild MSDN Article]
* [https://web.archive.org/web/20080906133723/http://msdn.microsoft.com/msdnmag/issues/06/06/InsideMSBuild/default.aspx Inside MSBuild MSDN Article]
* [https://web.archive.org/web/20081203124237/http://msdn.microsoft.com/msdnmag/issues/07/03/wixtricks/default.aspx WiX Tricks-Automate Releases With MSBuild And Windows Installer XML]
* [https://web.archive.org/web/20081203124237/http://msdn.microsoft.com/msdnmag/issues/07/03/wixtricks/default.aspx WiX Tricks-Automate Releases With MSBuild And Windows Installer XML]

Текущая версия от 04:06, 11 июня 2023

MSBuild
Логотип программы MSBuild
Тип Автоматизация сборки с синтаксисом XML
Разработчик .NET Foundation
Написана на C#
Операционные системы Linux, macOS, Windows
Последняя версия 17.3.1[1] (15 августа 2022; 2 года назад (2022-08-15))
Репозиторий github.com/dotnet/msbuild
Лицензия лицензия MIT[2]
Сайт docs.microsoft.com/visua…

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 доступен в составе .NET, то можно собирать проекты и решения Visual Studio без установленной IDE Visual Studio. MSBuild не требует дополнительных денежных отчислений.

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

MSBuild — функциональная замена утилите nmake. Последняя всё ещё используется в проектах, написанных на старых версиях Visual Studio.

Задача инструмента — результирующая цель (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". Архивировано 19 февраля 2023. Дата обращения: 25 января 2023.
  2. Лицензия в репозитории Github. Дата обращения: 12 июля 2020. Архивировано 16 мая 2017 года.