<supportedRuntime> Element

Specifies which versions of the common language runtime the application supports. This element should be used by all applications built with version 1.1 or later of the .NET Framework.

<configuration>
  <startup>
    <supportedRuntime>

Syntax

<supportedRuntime version="runtime version" sku="sku id"/>  

Attributes

Attribute Description
version Optional attribute.

A string value that specifies the version of the common language runtime (CLR) that this application supports. For valid values of the version attribute, see the "runtime version" values section. Note: Through the .NET Framework 3.5, the "runtime version" value takes the form major.minor.build. Beginning with the .NET Framework 4, only the major and minor version numbers are required (that is, "v4.0" instead of "v4.0.30319"). The shorter string is recommended.
sku Optional attribute.

A string value that specifies the stock-keeping unit (SKU), which in turn specifies which .NET Framework release this application supports.

Starting with the .NET Framework 4.0, the use of the sku attribute is recommended. When present, it indicates the version of the .NET Framework that the app targets.

For valid values of the sku attribute, see the "sku id" values section.

Remarks

If the <supportedRuntime> element is not present in the application configuration file, the version of the runtime used to build the application is used.

The <supportedRuntime> element should be used by all applications built using version 1.1 or later of the runtime. Applications built to support only version 1.0 of the runtime must use the <requiredRuntime> element.

Note

If you use the CorBindToRuntimeByCfg function to specify the configuration file, you must use the <requiredRuntime> element for all versions of the runtime. The <supportedRuntime> element is ignored when you use CorBindToRuntimeByCfg.

For apps that support versions of the runtime from the .NET Framework 1.1 through 3.5, when multiple versions of the runtime are supported, the first element should specify the most preferred version of the runtime, and the last element should specify the least preferred version. For apps that support the .NET Framework 4.0 or later versions, the version attribute indicates the CLR version, which is common to the .NET Framework 4 and later versions, and the sku attribute indicates single .NET Framework version that the app targets.

Note

If your application uses legacy activation paths, such as the CorBindToRuntimeEx function, and you want those paths to activate version 4 of the CLR instead of an earlier version, or if your application is built with the .NET Framework 4 but has a dependency on a mixed-mode assembly built with an earlier version of the .NET Framework, it is not sufficient to specify the .NET Framework 4 in the list of supported runtimes. In addition, in the <startup> element in your configuration file, you must set the useLegacyV2RuntimeActivationPolicy attribute to true. However, setting this attribute to true means that all components built with earlier versions of the .NET Framework are run using the .NET Framework 4 instead of the runtimes they were built with.

We recommend that you test applications with all the .NET Framework versions that they can run on.

"runtime version" values

The runtime attribute specifies the Common Language Runtime (CLR) version that is required for a given application. Note that all .NET Framework v4.x versions specify the v4.0 CLR. The following table lists valid values for the runtime version value of the version attribute.

.NET Framework version version attribute
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.7.1 "v4.0"

"sku id" values

The sku attribute uses a target framework moniker (TFM) to indicate the version of the .NET Framework that the app targets and requires to run. The following table lists valid values that are supported by the sku attribute, starting with the .NET Framework 4.

.NET Framework version sku attribute
4.0 ".NETFramework,Version=v4.0"
4.0, Client Profile ".NETFramework,Version=v4.0,Profile=Client"
4.0, platform update 1 .NETFramework,Version=v4.0.1
4.0, Client Profile, update 1 .NETFramework,Version=v4.0.1,Profile=Client
4.0, platform update 2 .NETFramework,Version=v4.0.2
4.0, Client Profile, update 2 .NETFramework,Version=v4.0.2,Profile=Client
4.0, platform update 3 .NETFramework,Version=v4.0.3
4.0, Client Profile, update 3 .NETFramework,Version=v4.0.3,Profile=Client
4.5 ".NETFramework,Version=v4.5"
4.5.1 ".NETFramework,Version=v4.5.1"
4.5.2 ".NETFramework,Version=v4.5.2"
4.6 ".NETFramework,Version=v4.6"
4.6.1 ".NETFramework,Version=v4.6.1"
4.6.2 ".NETFramework,Version=v4.6.2"
4.7 ".NETFramework,Version=v4.7"
4.7.1 ".NETFramework,Version=v4.7.1"

Example

The following example shows how to specify the supported runtime version in a configuration file. The configuration file indicates that the app targets the .NET Framework 4.7.

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

Configuration file

This element can be used in the application configuration file.

See also

Startup Settings Schema
Configuration File Schema
In-Process Side-by-Side Execution