<supportedRuntime> 要素

アプリケーションでサポートされる共通言語ランタイムのバージョンと、必要に応じて .NET Framework のバージョンを指定します。

<configuration>
  <startup>
    <supportedRuntime>

構文

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

属性

属性 説明
version 省略可能な属性です。

このアプリケーションがサポートする共通言語ランタイム (CLR: Common Language Runtime) のバージョンを指定する文字列値。 version 属性の有効な値については、「"ランタイム バージョン" の値」セクションを参照してください。 注: .NET Framework 3.5 では、"ランタイム バージョン" の値は <メジャー>.<マイナー>.<ビルド> の形式になります。 .NET Framework 4 以降では、必要となるのはメジャー バージョン番号とマイナー バージョン番号のみです (つまり、"v4.0.30319" ではなく "v4.0")。 短い文字列を使用することをお勧めします。
sku 省略可能な属性です。

在庫管理単位 (SKU) を指定する文字列の値。SKU はこのアプリケーションがサポートする .NET Framework リリースを指定します。

.NET Framework 4.0 以降では、sku 属性の使用が推奨されます。 この属性が指定される場合は、アプリケーションが対象とする .NET Framework のバージョンを示します。

sku 属性の有効な値については、「"SKU ID" の値」セクションを参照してください。

解説

アプリケーション構成ファイルに <supportedRuntime> 要素がない場合は、アプリケーションの構築に使われたランタイムのバージョンが使用されます。

ランタイムのバージョン 1.1 以降を使用して構築されたすべてのアプリケーションでは、<supportedRuntime> 要素を使用する必要があります。 ランタイムのバージョン 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 によって自動的に生成された構成ファイルには既に含まれています)。

Note

アプリケーションで 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 属性の "ランタイム バージョン" に指定可能な値の一覧です。

.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 のバージョンを示します。 次の表に、.NET Framework 4 以降の sku 属性でサポートされている有効な値を示します。

.NET Framework のバージョン sku 属性
4.0 ".NETFramework,Version=v4.0"
4.0、Client Profile ".NETFramework,Version=v4.0,Profile=Client"
4.0、プラットフォームの更新プログラム 1 ".NETFramework,Version=v4.0.1"
4.0、Client Profile、更新プログラム 1 ".NETFramework,Version=v4.0.1,Profile=Client"
4.0、プラットフォームの更新プログラム 2 ".NETFramework,Version=v4.0.2"
4.0、Client Profile、更新プログラム 2 ".NETFramework,Version=v4.0.2,Profile=Client"
4.0、プラットフォームの更新プログラム 3 ".NETFramework,Version=v4.0.3"
4.0、Client Profile、更新プログラム 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"
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>

構成ファイル

この要素は、アプリケーション構成ファイルで使用できます。

関連項目