Целевые версии фреймворка и платформы
С помощью 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. Дополнительные сведения см. в разделе Набор инструментов (Версия инструментов).
Эталонные сборки
Эталонные сборки, указанные в наборе инструментов, помогают разрабатывать и создавать приложение. Эти эталонные сборки не только позволяют выполнять определенную целевую сборку, но и ограничивать компоненты и компоненты интегрированной среды разработки Visual Studio для тех, которые совместимы с целевым объектом. Дополнительные сведения см. в разделе Разрешение сборок во время проектирования.
Настройка целевых объектов и задач
Целевые объекты и задачи MSBuild можно настроить для запуска вне процесса с помощью MSBuild, чтобы можно было использовать целевые контексты, которые значительно отличаются от текущего контекста выполнения. Например, можно нацелить 32-разрядное приложение .NET Framework 2.0, пока компьютер разработки работает на 64-разрядной платформе с .NET Framework 4.5. Дополнительные сведения см. в разделе Настройка целевых объектов и задач.
Устранение неполадок
При попытке ссылаться на сборку, которая не является частью целевого контекста, могут возникнуть ошибки. Дополнительную информацию об этих ошибках и о том, что можно предпринять, можно найти в статье Устранение ошибок, связанных с целевой платформой .NET Framework.