MSBuild 目标框架和目标平台

可以在 目标框架(即 .NET Framework 的特定版本)和 目标平台(即特定软件体系结构)上运行项目。 例如,可以将应用程序定位到与 80x86 处理器系列(“x86”)兼容的 32 位平台上的 .NET Framework 2.0 上运行的应用程序。 目标框架和目标平台的组合称为 目标上下文

重要

本文介绍指定目标框架的旧方法。 SDK 样式项目启用不同的 TargetFrameworks,例如 netstandard。 有关详细信息,请参阅 目标框架

目标框架和配置文件

目标框架是项目要运行的特定版本的 .NET Framework。 需要指定目标框架,因为它支持特定于该版本的框架的编译器功能和程序集引用。

目前,以下版本的 .NET Framework 可供使用,尽管某些版本不再受Microsoft支持,但有些版本计划的未来日期不再受支持。 有关最新支持信息,请参阅 .NET Framework

  • .NET Framework 2.0(包含在 Visual Studio 2005 中)

  • .NET Framework 3.0(包含在 Windows Vista 中)

  • .NET Framework 3.5(包含在 Visual Studio 2008 中)

  • .NET Framework 4.0

  • .NET Framework 4.5.2

  • .NET Framework 4.6(包含在 Visual Studio 2015 中)

  • .NET Framework 4.6.1

  • .NET Framework 4.6.2

  • .NET Framework 4.7

  • .NET Framework 4.7.1

  • .NET Framework 4.7.2

  • .NET Framework 4.8

.NET Framework 的版本在每次可供引用的程序集列表中彼此不同。 例如,除非项目面向 .NET Framework 版本 3.0 或更高版本,否则无法生成 Windows Presentation Foundation (WPF) 应用程序。

目标框架在 TargetFrameworkVersion 项目文件中的属性中指定。 可以使用 Visual Studio 集成开发环境(IDE)中的项目属性页来更改项目的目标框架。 有关详细信息,请参阅 How to: Target a version of the .NET Framework. 的可用值为TargetFrameworkVersion:、v2.0v3.0v4.0v3.5v4.5.2v4.6v4.6.1v4.6.2v4.7、、 v4.7.1和。v4.7.2v4.8

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>

目标配置文件是目标框架的子集。 例如,.NET Framework 4 客户端配置文件不包括对 MSBuild 程序集的引用。

注释

目标配置文件仅适用于 可移植类库

目标配置文件在 TargetFrameworkProfile 项目文件中的属性中指定。 可以在 IDE 的项目属性页中使用目标框架控件来更改目标配置文件。

<TargetFrameworkVersion>v4.0</TargetFrameworkVersion>
<TargetFrameworkProfile>Client</TargetFrameworkProfile>

目标平台

平台是定义特定运行时环境的硬件和软件的组合。 例如,

  • x86 指定在 Intel 80x86 处理器或其等效处理器上运行的 32 位 Windows作系统。
  • x64 指定在 Intel x64 处理器或其等效版本上运行的 64 位 Windows作系统。
  • anycpu 指定配置为能够在任何平台上运行的输出。 您的应用程序将尽可能作为 64 位进程运行;当只有 32 位模式可用时,才会回退到 32 位。
  • anycpu32bitpreferred 指定在任何平台上运行的输出。 在同时支持 64 位和 32 位应用程序的系统上,您的应用程序将以32 位模式运行。
  • Xbox 指定Microsoft Xbox 360 平台。
  • ARM 编译程序集以在具有高级 RISC 计算机 (ARM) 处理器的计算机上运行。
  • ARM64 编译程序集以在具有支持 A64 指令集的高级 RISC 计算机(ARM)处理器的计算机上的 64 位 CLR 上运行。

目标平台是项目要运行的特定平台。 目标平台在项目文件中的 PlatformTarget 生成属性中指定。 可以使用 IDE 中的项目属性页或 Configuration Manager 来更改目标平台。

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
</PropertyGroup>

该值 PlatformTarget 将传递给编译器,以确定要生成的输出。 对于 C# 项目,它映射到 C# 编译器选项 -platform。 编译器 选项(PlatformTarget)中更详细地介绍了平台选项。

目标配置是目标平台的子集。 例如,配置 x86Debug 不包括大多数代码优化。 目标配置在 Configuration 项目文件的生成属性中指定。 可以使用项目属性页或 Configuration Manager 更改目标配置。

<PropertyGroup>
   <PlatformTarget>x86</PlatformTarget>
   <Configuration>Debug</Configuration>
</PropertyGroup>