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 における破壊的変更を文書化したものは、.NET Framework 1.1 を対象とするアプリケーションに影響を与える可能性がある .NET Framework 2.0 SP1 の変更を述べています。
.NET Framework 3.5 SP1 の変更点は、 .NET Framework 3.5 と .NET Framework 3.5 SP1 の間の変更を文書化します。
.NET Framework 4 の移行の問題 に関するドキュメントでは、.NET Framework 3.5 SP1 と .NET Framework 4 の間の変更について説明します。
廃止予定の型とメンバー
非推奨の型とメンバーの影響は、再ターゲットされたアプリケーションと再コンパイルされたアプリケーションでは多少異なります。 古い型とメンバーの使用は、古い型またはメンバーがアセンブリから物理的に削除されていない限り、再ターゲットされたアプリケーションには影響しません。 古い型またはメンバーを使用するアプリケーションを再コンパイルすると、通常、コンパイラ エラーではなくコンパイラ警告が生成されます。 ただし、場合によってはコンパイラ エラーが発生し、古い型またはメンバーを使用するコードは正常にコンパイルされません。 この場合、アプリケーションを再コンパイルする前に、古い型またはメンバーを呼び出すソース コードを書き直す必要があります。 古い型とメンバーの詳細については、「 クラス ライブラリの廃止された機能」を参照してください。
.NET Framework 2.0 SP1 のリリース以降に非推奨となった型とメンバーの影響を評価するには、「 クラス ライブラリの廃止された機能」を参照してください。 .NET Framework 2.0 SP1、.NET Framework 3.5、および .NET Framework 4 の古い型とメンバーの一覧を確認します。
.NET