Поделиться через


Использование API MSBuild

MSBuild предоставляет общедоступную область API, чтобы программа может выполнять сборки и проверять проекты. Последние версии API MSBuild можно найти в следующих пакетах NuGet:

Имя пакета Описание
Microsoft.Build Содержит сборку Microsoft.Build, которая используется для создания, редактирования и оценки проектов MSBuild.
Microsoft.Build.Framework Содержит общую сборку платформы MSBuild, используемую другими сборками MSBuild.
Microsoft.Build.Runtime Предоставляет полную исполняемую копию MSBuild. Ссылайтесь на этот пакет только в том случае, если приложению необходимо загрузить проекты или выполнить сборки внутри процесса, не требуя установки MSBuild. Для успешной оценки проектов с помощью этого пакета требуется агрегирование дополнительных компонентов (например, компиляторов) в каталог приложений.
Microsoft.Build.Tasks.Core Содержит сборку Microsoft.Build.Tasks, которая реализует часто используемые задачи MSBuild.
Microsoft.Build.Utilities.Core Содержит сборку Microsoft.Build.Utilities, которая используется для реализации пользовательских задач MSBuild.

Кроме того, NuGet также размещает устаревшую сборку Microsoft.Build.Engine, которая устарела.

Существует несколько различных версий API MSBuild, а для версий 15 и 16 существуют две различные формы сборок в пакетах NuGet, одна скомпилирована с .NET Framework, а другая скомпилирована с помощью .NET Core, которая является подмножеством поверхности API .NET Framework. Версия MSBuild .NET Core используется при вызове dotnet команды и при использовании MSBuild в системах Mac и Linux.

Документацию по API MSBuild можно найти с помощью браузера API .NET или просмотра пространств имен в следующем списке.

Пространство имен Применимо к Описание
Microsoft.Build.Construction Все Содержит типы, используемые объектной моделью MSBuild для создания корней проекта с неоцененными значениями. Каждый корневой каталог проекта соответствует файлу проекта или файлу целей.
Microsoft.Build.Definition Все Содержит класс ProjectOptions, поддерживающий создание проекта.
Microsoft.Build.Evaluation Все Содержит типы, используемые объектной моделью MSBuild для оценки проектов. Каждый проект связан с одним или несколькими корневыми проектами.
Microsoft.Build.Evaluation.Context Все Содержит класс EvaluationContext, используемый для хранения состояния оценки между вызовами.
Microsoft.Build.Exceptions Все Содержит типы исключений, которые могут возникать во время процесса сборки.
Microsoft.Build.Execution Все Содержит типы, используемые объектной моделью MSBuild для создания проектов.
Microsoft.Build.Framework Все Содержит типы, определяющие взаимодействие задач и средств ведения журнала с подсистемой MSBuild.
Microsoft.Build.Framework.Profiler Все Содержит типы, поддерживающие профилирование производительности.
Microsoft.Build.Framework.XamlTypes Только .NET Framework Содержит классы, используемые для представления типов XAML, проанализированных из файлов, правил и других источников.
Microsoft.Build.Globbing Все Содержит классы, поддерживающие обработку подстановочных знаков.
Microsoft.Build.Globbing.Extensions Все Содержит типы, поддерживающие расширения для обработки подстановочных знаков.
Microsoft.Build.Graph Все Содержит типы, поддерживающие -graph коммутатор MSBuild.
Microsoft.Build.Logging Все Содержит типы, используемые для ведения журнала хода выполнения сборки.
Microsoft.Build.ObjectModelRemoting Все Содержит типы, поддерживающие удаленное управление в MSBuild.
Microsoft.Build.Tasks Все Содержит реализацию всех задач доставки с помощью MSBuild.
Microsoft.Build.Tasks.Deployment.Bootstrapper Только платформа .NET Framework Содержит классы, используемые внутри MSBuild.
Microsoft.Build.Tasks.Deployment.ManifestUtilities Только .NET Framework Содержит классы, используемые MSBuild.
Microsoft.Build.Tasks.Hosting Все Содержит классы, используемые внутри MSBuild.
Microsoft.Build.Tasks.Xaml Только платформа .NET Framework Содержит классы, связанные с задачами сборки XAML.
Microsoft.Build.Utilities Все Содержит вспомогательные классы, которые можно использовать для создания собственных средств ведения журнала и задач MSBuild.

В предыдущей таблице "Все" в столбце "Применимо к" означает, что типы в данном пространстве имен доступны как в .NET Framework, так и в версиях API MSBuild.

Указатель MSBuild

Указатель MSBuild — это API, который можно использовать для поиска MSBuild на компьютере. Его можно использовать в разработке средств сборки, если требуется найти установленные версии MSBuild.

NuGetPackage находится в Microsoft.Build.Locator , а справочная документация находится в Корпорации Майкрософт.

Дополнительные сведения о MSBuildLocator см. в статье "Поиск и использование версий MSBuild".