方法: .NET Framework 4 以降のバージョンをサポートするアプリを構成する

共通言語ランタイム (CLR) をホストするすべてのアプリでは、マネージド コードを実行するために CLR を開始またはアクティブ化する必要があります。 通常、.NET Framework アプリはビルドされた CLR のバージョンで実行されますが、アプリケーション構成ファイル (app.config ファイルと呼ばれることもあります) を使用して、デスクトップ アプリのこの動作を変更できます。 ただし、アプリケーション構成ファイルを使用して Windows ストア アプリまたは Windows Phone アプリの既定のアクティベーション動作は変更できません。 この記事では、デスクトップ アプリを .NET Framework の別のバージョンで実行できるようにする方法を説明し、バージョン 4 以降を対象とする方法の例を示します。

アプリが実行される .NET Framework のバージョンは、次の順序で決まります。

  • 構成ファイル。

    アプリケーション構成ファイルに 1 つ以上の .NET Framework のバージョンを指定する <supportedRuntime> エントリがあり、これらのバージョンの 1 つがユーザーのコンピューターにある場合、アプリはそのバージョンで実行されます。 構成ファイルは、一覧表示された順序で <supportedRuntime> エントリを読み込み、ユーザーのコンピューターにある、最初に表示される .NET Framework バージョンを使用します (Version 1.0 では <requiredRuntime> 要素を使用します)。

  • コンパイル後のバージョン。

    構成ファイルがなく、アプリがビルドされた .NET Framework のバージョンがユーザーのコンピューターに存在する場合、アプリはそのバージョンで実行されます。

  • インストールされた最新バージョン。

    アプリがビルドされた .NET Framework のバージョンがなく、構成ファイルの <supportedRuntime> 要素でバージョンが指定されていない場合、アプリはユーザーのコンピューターにある .NET Framework の最新バージョンで実行が試みられます。

    ただし、.NET Framework 1.0、1.1、2.0、3.0、3.5 のアプリは、.NET Framework 4 以降では自動的に実行されず、場合によっては、エラーが発生し、.NET Framework 3.5 をインストールするように求めるメッセージが表示されることがあります。 また、Windows システムの異なるバージョンには .NET Framework の異なるバージョンが含まれるので、アクティベーション動作はユーザーのオペレーティング システムに応じて異なる場合があります。 アプリが .NET Framework 3.5 と 4、またはそれ以降をサポートしている場合は、構成ファイルの複数のエントリでこれを示して .NET Framework 初期化エラーを回避することをお勧めします。 詳細については、「.NET Framework のバージョンおよび依存関係」を参照してください。

また、.NET Framework 3.5 がコンピューターにインストールされている場合でも、.NET Framework 4 以降のバージョンで実行できるように .NET Framework 3.5 アプリを構成して、Version 4 以降のバージョンのパフォーマンス向上を活用することもできます。

重要

サポートするすべての .NET Framework のバージョンで必ずアプリをテストすることをお勧めします。 以降の .NET Framework のバージョンをサポートするためのアプリケーションのアップグレードについての詳細は、「.NET Framework のバージョンの互換性」を参照してください。

.NET Framework 1.0 および 1.1 アプリを変更して Windows 7 と Windows 8 をサポートする方法の詳細については、「.NET Framework 1.1 からの移行」を参照してください。

.NET Framework 4 以降のバージョンで実行できるようにアプリを構成するには

  1. .NET Framework プロジェクトの構成ファイルを追加または検索します。 アプリの構成ファイルは、同じディレクトリにあり、アプリと同じ名前ですが、.config 拡張子があります。 たとえば、アプリが MyExecutable.exe という名前であれば、アプリケーション構成ファイルの名前は MyExecutable.exe.config です。

    構成ファイルを追加するには、Visual Studio のメニュー バーで [プロジェクト][新しい項目の追加] の順にクリックします。 左ペインで [全般] をクリックし、 [構成ファイル] をクリックします。 構成ファイルに App.config という名前を付けます。これらのメニューの選択は、Windows ストア アプリ プロジェクトまたは Windows phone アプリ プロジェクトでは使用できません。これらのプラットフォームのアクティベーション ポリシーを変更できないためです。

  2. 次のように、アプリケーション構成ファイルに <supportedRuntime> 要素を追加します。

    <configuration>
      <startup>
        <supportedRuntime version="version"/>
      </startup>
    </configuration>
    

    ここで、<version> は、アプリがサポートする .NET Framework のバージョンに合わせて CLR バージョンを指定します。 次の文字列を使用します。

    • .NET Framework 1.0: 「v1.0.3705」

    • .NET Framework 1.1: 「v1.1.4322」

    • .NET Framework 2.0、3.0、および 3.5: 「v2.0.50727」

    • .NET Framework 4 以降のバージョン: "v4.0"

    複数の <supportedRuntime> 要素を優先順に追加して、複数バージョンの .NET Framework のサポートを指定できます。

アプリケーション構成ファイルの設定およびコンピューターにインストールされている .NET Framework のバージョンによって、.NET Framework 3.5 アプリが実行されるバージョンがどのように決定されるかを次の表に示します。 この例は、.NET Framework 3.5 のアプリケーションに固有ですが、以前の .NET Framework バージョンで作成されたアプリケーションを対象にする場合も同様のロジックを使用できます。 アプリケーション構成ファイルで .NET Framework 3.5 を指定するために、.NET Framework 2.0 のバージョン番号 (v2.0.50727) が使用されることに注意してください。

App.config ファイルの設定 バージョン 3.5 がインストールされているコンピューター 3\.5、4、それ以降のバージョンがインストールされているコンピューター 4 以降のバージョンがインストールされているコンピューター
None 3\.5 で動作 3\.5 で動作 ユーザーに正しいバージョン * をインストールするように求めるエラー メッセージが表示されます。
<supportedRuntime version="v2.0.50727"/> 3\.5 で動作 3\.5 で動作 ユーザーに正しいバージョン * をインストールするように求めるエラー メッセージが表示されます。
<supportedRuntime version="v2.0.50727"/>
<supportedRuntime version="v4.0"/>
3\.5 で動作 3\.5 で動作 4 以降のバージョンで動作
<supportedRuntime version="v4.0"/>
<supportedRuntime version="v2.0.50727"/>
3\.5 で動作 4 以降のバージョンで動作 4 以降のバージョンで動作
<supportedRuntime version="v4.0"/> ユーザーに正しいバージョン * をインストールするように求めるエラー メッセージが表示されます。 4 以降のバージョンで動作 4 以降のバージョンで動作

* このエラー メッセージの詳細と回避方法については、「.NET Framework の初期化エラー: ユーザー エクスペリエンスの管理」を参照してください。

関連項目