Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
С помощью MSBuild можно скомпилировать приложение для запуска на любой из нескольких версий .NET Framework и на любой из нескольких системных платформ. Например, можно скомпилировать приложение для запуска в .NET Framework 3.5 с пакетом обновления 1 (SP1) на 32-разрядной платформе и скомпилировать то же приложение для запуска на платформе .NET Framework 4.7.2 на 64-разрядной платформе.
Заметка
В этой статье описывается более старый тип мультитаргетирования, который применяется к сборкам .NET Framework, в которых проект может использовать только одну платформу и только одну платформу одновременно. В .NET Core и .NET 5 и более поздних версиях можно использовать более новый тип мультитаргетирования с помощью свойства TargetFrameworks (plural) в файле проекта. При сборке с помощью dotnet build или аналогичных команд .NET CLI или с помощью Visual Studio после перезагрузки проекта сборка использует более новый тип мультицелевой компиляции, в котором выполняется несколько сборок, по одной для каждого целевого фреймворка. См. целевые платформы.
Ниже приведены некоторые функции целевого объекта MSBuild:
Вы можете разработать приложение, предназначенное для более ранней версии .NET Framework, например версии 3.5 с пакетом обновления 1 (SP1).
Вы можете нацелиться на профиль платформы , который является предопределенным подмножеством целевой платформы.
Если пакет обновления для текущей версии .NET Framework выпущен, вы можете нацелиться на него.
Таргетирование в MSBuild гарантирует, что приложение использует только функции, доступные в целевом фреймворке и платформе.
Целевая среда и платформа
целевой фреймворк — это версия .NET Framework, на которой проект построен для выполнения, а целевая платформа — это системная платформа, на которой проект построен для выполнения. Например, может потребоваться нацелить приложение .NET Framework 3.5 с пакетом обновления 1 (SP1) на 32-разрядную платформу, совместимую с семейством процессоров 80x86 (x86). Сочетание целевого фреймворка и целевой платформы называется контекстом целевого объекта. Дополнительные сведения см. в разделе Целевая платформа и целевая платформа.
Набор инструментов (ToolsVersion)
Набор инструментов собирает средства, задачи и целевые объекты, используемые для создания приложения. Набор инструментов включает компиляторы, такие как csc.exe и vbc.exe, файл общих целевых объектов (microsoft.common.targets), а также файл общих задач (microsoft.common.tasks). Для получения дополнительной информации смотрите раздел Toolset (ToolsVersion).
Эталонные сборки
Эталонные сборки, указанные в наборе инструментов, помогают разрабатывать и создавать приложение. Эти эталонные сборки не только позволяют выполнять определенную целевую сборку, но и ограничивать компоненты и компоненты интегрированной среды разработки Visual Studio для тех, которые совместимы с целевым объектом. Дополнительные сведения см. в разделе Разрешение сборок на этапе проектирования.
Настройка целевых объектов и задач
Цели и задачи MSBuild можно настроить для выполнения в отдельном процессе с помощью MSBuild, чтобы использовать контексты, которые существенно отличаются от текущей системы, на которой вы работаете. Например, можно нацелиться на 32-разрядное приложение .NET Framework 3.5 SP1, работая на компьютере разработки с 64-разрядной операционной системой и .NET Framework 4.7.2. Дополнительные сведения см. в разделе Настройка целевых объектов и задач.
Устранение неполадок
При попытке ссылаться на сборку, которая не является частью целевого контекста, могут возникнуть ошибки. Дополнительные сведения об этих ошибках и методах их устранения см. в статье Устранение ошибок, связанных с целевой платформой .NET Framework,.