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