<supportedRuntime> 元素

指定应用程序支持的公共语言运行时版本和(可选) .NET Framework 版本。

<configuration>
  <startup>
    <supportedRuntime>

语法

<supportedRuntime version="runtime version" sku="SKU ID"/>

特性

属性 说明
version 可选特性。

一个字符串值,它指定此应用程序支持的公共语言运行时 (CLR) 版本。 有关 version 属性的有效值,请参阅“runtime version”值部分。 注意:通过 .NET Framework 3.5,“runtime version”值的形式为 major.minor.build。 从 .NET Framework 4 开始,仅主版本号和次版本号是必需的(即“v4.0”而不是“v4.0.30319”)。 建议使用较短字符串。
sku 可选特性。

一个字符串值,该值指定库存单位 (SKU),库存单位则指定此应用程序支持的 .NET Framework 版本。

从 .NET Framework 4.0 起,建议使用 sku 特性。 若存在该特性,则它指示应用面向的 .NET Framework 版本。

有关 sku 特性的有效值,请参阅“SKU ID”值部分。

备注

如果应用程序配置文件中没有 <supportedRuntime> 元素,则使用用于生成应用程序的运行时版本。

<supportedRuntime> 元素应由使用运行时 1.1 版或更高版本生成的所有应用程序使用。 仅为支持运行时 1.0 版而生成的应用程序必须使用 <requiredRuntime> 元素。

注意

如果使用 CorBindToRuntimeByCfg 函数来指定配置文件,则必须使用适用于所有运行时版本的 <requiredRuntime> 元素。 当你使用 CorBindToRuntimeByCfg 时,<supportedRuntime> 元素将被忽略。

对于支持从 .NET Framework 1.1 到 3.5 的运行时版本的应用,支持多个运行时版本时,第一个元素应指定优先级最高的版本,最后一个元素应指定优先级最低的版本。 对于支持 .NET Framework 4.0 或更高版本的应用,version 特性指示普遍适用于 .NET Framework 4 及更高版本的 CLR 版本,而 sku 特性指示应用所面向的单个 .NET Framework 版本。

如果配置文件中存在具有 sku 特性的 <supportedRuntime > 元素,并且安装的 .NET Framework 版本低于指定的受支持版本,应用程序将无法运行,而是显示一条消息,要求安装受支持的版本。 否则,应用程序会尝试在任何已安装的版本上运行,但如果它与该版本不完全兼容,则可能会出现异常行为。 (有关 .NET Framework 版本之间的兼容性差异,请参阅 .NET Framework 中的应用程序兼容性。)因此,建议你在应用程序配置文件中包括此元素,以便更轻松地诊断错误。 (Visual Studio在创建新项目时自动生成的配置文件已经包含了它。)

注意

如果你的应用程序使用旧式激活路径(如 CorBindToRuntimeEx 函数),并且你希望这些路径激活 CLR 的版本 4(而不是较早的版本),或者你的应用程序是用 .NET Framework 4 生成的,但在使用较早版本的 .NET Framework 生成的混合模式程序集上有依赖项,则不足以在受支持的运行时列表中指定 .NET Framework 4。 此外,在配置文件的 <startup> 元素中,必须将 useLegacyV2RuntimeActivationPolicy 特性设置为 true。 但是,将此特性设置为 true 意味着,用 .NET Framework 早期版本生成的所有组件都使用 .NET Framework 4(而不是生成它们时所用的运行时)运行。

我们建议你使用应用程序可在其上运行的所有 .NET Framework 版本来测试这些应用程序。

“运行时版本”值

runtime 特性指定给定应用程序所需的公共语言运行时 (CLR) 版本。 所有 .NET Framework v4.x 版本都指定了 v4.0 CLR。 下表列出了 version 特性的 runtime version 值的有效值。

.NET Framework 版本 version 特性
1.0 "v1.0.3705"
1.1 "v1.1.4322"
2.0 "v2.0.50727"
3.0 "v2.0.50727"
3.5 "v2.0.50727"
4.0-4.8.1 "v4.0"

“SKU ID”值

sku 特性使用目标框架名字对象 (TFM),以指示应用面向和需要运行的 .NET Framework 版本。 下表列出了 sku 特性支持的有效值,从 .NET Framework 4 开始。

.NET Framework 版本 sku 特性
4.0 ".NETFramework,Version=v4.0"
4.0,客户端配置文件 ".NETFramework,Version=v4.0,Profile=Client"
4.0,平台更新 1 ".NETFramework,Version=v4.0.1"
4.0,客户端配置文件,Update 1 ".NETFramework,Version=v4.0.1,Profile=Client"
4.0,平台更新 2 ".NETFramework,Version=v4.0.2"
4.0,客户端配置文件,Update 2 ".NETFramework,Version=v4.0.2,Profile=Client"
4.0,平台更新 3 ".NETFramework,Version=v4.0.3"
4.0,客户端配置文件,Update 3 ".NETFramework,Version=v4.0.3,Profile=Client"
4.5 ".NETFramework,Version=v4.5"
4.5.1 ".NETFramework,Version=v4.5"
4.5.2 ".NETFramework,Version=v4.5"
4.6 ".NETFramework,Version=v4.5"
4.6.1 ".NETFramework,Version=v4.5"
4.6.2 ".NETFramework,Version=v4.6.2"
4.7 ".NETFramework,Version=v4.7"
4.7.1 ".NETFramework,Version=v4.7.1"
4.7.2 ".NETFramework,Version=v4.7.2"
4.8 ".NETFramework,Version=v4.8"
4.8.1 ".NETFramework,Version=v4.8.1"

示例

下面的示例演示如何在配置文件中指定支持的运行时版本。 配置文件指示应用面向 .NET Framework 4.7。

<configuration>
   <startup>
      <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7" />
   </startup>
</configuration>

配置文件

此元素可用于应用程序配置文件中。

请参阅