Использование API MSBuild
MSBuild предоставляет общедоступный интерфейс API, который позволяет программам выполнять сборку и проверять проекты. Последние версии API MSBuild можно найти в следующих пакетах NuGet:
Имя пакета | Description |
---|---|
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. Версия .NET Core MSBuild используется при вызове команды dotnet
и при использовании MSBuild в системах Mac и Linux.
Документацию по API MSBuild можно найти с помощью Браузера .NET API или в списке пространств имен, приведенных ниже.
Пространство имен | Применяется к | Description |
---|---|---|
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, так и в версиях .NET Core для API MSBuild.
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по