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


Поддержка нескольких версий и платформ.

С помощью 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,.