次の方法で共有


.NET Framework 1.1、2.0、3.5 から .NET Framework 4 に移行する

Windows では、.NET Framework 1.1 と 2.0 はサポートされなくなりました。 その結果、以前のバージョンの .NET Framework を対象とするアプリケーションは、.NET Framework 3.5 を明示的にインストールしないと実行されません。 ただし、アプリを .NET Framework 4 にアップグレードすることをお勧めします。 この記事では、古いバージョンの .NET Framework を対象とするアプリケーションを実行するために必要な手順について説明します。

再ターゲットまたは再コンパイル

.NET Framework 1.1 を使用してコンパイルされたアプリケーションを Windows 7 以降の Windows オペレーティング システムで実行するには、次の 2 つの方法があります。

  • .NET Framework 4 以降のバージョンで実行するようにアプリケーションのターゲットを変更します。

    再ターゲットするには、 <supportedRuntime> 要素をアプリケーションの構成ファイルに追加して、.NET Framework 4 以降のバージョンで実行できるようにする必要があります。

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

    このような構成ファイルの形式は次のとおりです。

    <configuration>
       <startup>
          <supportedRuntime version="v4.0"/>
       </startup>
    </configuration>
    
  • .NET Framework 4 以降のバージョンを対象とするコンパイラを使用して、アプリケーションを再コンパイルします。 最初に Visual Studio 2003 を使用してソリューションを開発およびコンパイルした場合は、Visual Studio 2010 (および場合によってはそれ以降のバージョン) でソリューションを開き、[ プロジェクトの互換性 ] ダイアログ ボックスを使用して、ソリューションとプロジェクト ファイルを Visual Studio 2003 で使用される形式から Microsoft ビルド エンジン (MSBuild) 形式に変換できます。

    アプリケーションを再コンパイルまたは再ターゲットするかどうかに関係なく、新しいバージョンの .NET Framework で導入された変更によってアプリケーションが影響を受けるかどうかを判断する必要があります。 これらの変更には、次の 2 種類があります。

  • .NET Framework 1.1 以降のバージョンの .NET Framework の間で発生した破壊的変更。

  • .NET Framework 1.1 以降のバージョンの .NET Framework の間で非推奨または廃止としてマークされている型と型のメンバー。

アプリケーションのターゲットを変更する場合も、再コンパイルする場合でも、.NET Framework 1.1 以降にリリースされた .NET Framework の各バージョンの破壊的変更と古い型とメンバーの両方を確認する必要があります。

重大な変更

重大な変更が発生した場合は、特定の変更に応じて、再ターゲットされたアプリケーションと再コンパイルされたアプリケーションの両方で回避策を使用できる場合があります。 場合によっては、アプリケーションの構成ファイルの <runtime> 要素に子要素を追加して、前の動作を復元できます。 たとえば、次の構成ファイルは、.NET Framework 1.1 で使用される文字列の並べ替えと比較の動作を復元し、再ターゲットまたは再コンパイルされたアプリケーションで使用できます。

<configuration>
   <runtime>
      <CompatSortNLSVersion enabled="4096"/>
   </runtime>
</configuration>

ただし、場合によっては、ソース コードを変更し、アプリケーションを再コンパイルする必要があります。

重大な変更がアプリケーションに及ぼす影響を評価するには、次の変更の一覧を確認する必要があります。

廃止予定の型とメンバー

非推奨の型とメンバーの影響は、再ターゲットされたアプリケーションと再コンパイルされたアプリケーションでは多少異なります。 古い型とメンバーの使用は、古い型またはメンバーがアセンブリから物理的に削除されていない限り、再ターゲットされたアプリケーションには影響しません。 古い型またはメンバーを使用するアプリケーションを再コンパイルすると、通常、コンパイラ エラーではなくコンパイラ警告が生成されます。 ただし、場合によってはコンパイラ エラーが発生し、古い型またはメンバーを使用するコードは正常にコンパイルされません。 この場合、アプリケーションを再コンパイルする前に、古い型またはメンバーを呼び出すソース コードを書き直す必要があります。 古い型とメンバーの詳細については、「 クラス ライブラリの廃止された機能」を参照してください。

.NET Framework 2.0 SP1 のリリース以降に非推奨となった型とメンバーの影響を評価するには、「 クラス ライブラリの廃止された機能」を参照してください。 .NET Framework 2.0 SP1、.NET Framework 3.5、および .NET Framework 4 の古い型とメンバーの一覧を確認します。