次の方法で共有


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

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

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

  • 構成ファイル。

    アプリケーション構成ファイルに 1 つ以上の .NET Framework バージョンを指定する <supportedRuntime> エントリが含まれており、それらのバージョンのいずれかがユーザーのコンピューターに存在する場合、アプリはそのバージョンで実行されます。 構成ファイルは<supportedRuntime>エントリを表示される順序で読み込み、ユーザーのコンピューターに存在する最初に一覧表示された .NET Framework バージョンを使用します。 (バージョン 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 3.5 がインストールされているコンピューターでも、.NET Framework 4 以降のバージョンで実行するように .NET Framework 3.5 アプリを構成して、バージョン 4 以降のバージョンのパフォーマンス向上を活用することもできます。

Important

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

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

.NET Framework 4.x でアプリを実行する

  1. .NET Framework プロジェクトの構成ファイルを追加または検索します。

    アプリの構成ファイルは、同じディレクトリ内にあり、アプリと同じファイル名を持ち、拡張子が .config の XML ファイルです。 たとえば、 MyExecutable.exeという名前のアプリの場合、アプリケーション構成ファイルには MyExecutable.exe.config という名前が付けられます。

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

  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 2.0 バージョン番号 (v2.0.50727) は、アプリケーション構成ファイルで .NET Framework 3.5 を指定するために使用されることに注意してください。

アプリ.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 初期化エラー: ユーザー エクスペリエンスの管理」を参照してください。

こちらも参照ください