.NET Framework 4 Application Compatibility

.NET Framework Version 4 アプリケーションの互換性に関するチュートリアル

このチュートリアルでは、アプリケーションが .NET Framework Version 4 で正常に動作することを確認する方法について説明します。

このチュートリアルでは次の 作業 について説明します。

  • マネージコードを使用するクライアントアプリケーションを .NET Framework 4
  • COM でテストする方法
  • ASP.NET でテストする方法

さらに、このチュートリアルでは、 .NET Framework の旧バージョンが .NET Framework Version 4 と共にインストールされている ( つまり、 2 つのバージョンが並列インストールされている ) 場合のアプリケーションの動作をテストする方法についても説明します。

>結果の評価

このチュートリアルの各シナリオの手順を実行した後、シナリオで説明されたテストが予想どおりの結果になったかどうかを評価する必要があります。一部のシナリオには、テストが成功または失敗した場合に何を行うかについての推奨事項があります。テストの結果を評価する方法に対して明確な推奨事項がシナリオに含まれていない場合は、次の指示に従ってください。

  • はい、シナリオは予想どおりに実行されました。この場合は、次のシナリオに進みます次のシナリオがアプリケーションに関連する場合。
  • いいえ、シナリオは失敗しました。 の場合 を Microsoft Connect Web (http://connect.microsoft.com/) 適切な場合は、次のシナリオに進みます。

並列シナリオでクライアントアプリケーションをテストする

チュートリアルのこのセクションでは、 .NET Framework の 2.0 と 4.0 が並列でインストールされている場合にマネージコードアプリケーションをテストする方法について説明します。

>シナリオ 1: インストールのテスト

このテストでは、 .NET Framework の 2.0 と 4 がインストールされているコンピュータにアプリケーションを正常にインストールできるかどうかを検証します。

注 : アプリケーションでインストールプロセスが必要でない場合は、次のシナリオに進んでください。

1.           テストを行うコンピュータに、作成したアプリケーションを使用するための .NET Framework のバージョンがインストールされていることを確認します。

2.           .NET Framework Version 4 の旧バージョン ( テスト版 ) がインストールされている場合は、アンインストールを実行して、 .NET Framework 4 の最新版をインストールできるようにします。

3.           .NET Framework 4 をインストールする前に、 .NET Framework 4 がインストールされていない状態 でアプリケーションが予想どおりに動作することを確認します。

4.           アプリケーションをアンインストールします。

5.           .NET Framework Version 4 をインストールします。

6.           アプリケーションをインストールします。

結果の評価

結果を評価し、次の表の指示に従います。

結果

次のステップ

はい、アプリケーションは予想どおりにインストールされました。

次のシナリオに進みます。

いいえ、インストールプロセスは失敗しました。

1.           .NET Framework 4 をコンピュータからアンインストールします。

2.           アプリケーションをコンピュータにインストールします。

3.           .NET Framework 4 を再インストールします。

4.           エラーが発生した手順を記述したバグレポートを Microsoft Connect Web サイト (http://connect.microsoft.com/) に送信します。

シナリオ 2: アプリケーションの動作 の 検証

このテストでは、 .NET Framework の 2.0 と 4.0 がインストールされたコンピュータでアプリケーションが正常に機能するかどうかを検証します。

1.           アプリケーションをコンピュータで実行します。

2.           すべての可能な機能を操作し て 、それらが正常に動作することを確認します ( できるだけ多くのコードをチェックします ) 。

結果 の 評価

結果の検証方法については、このドキュメントの「 結果の評価 」を参照してください。

シナリオ 3: .NET Framework 4 を使用するアプリケーション の テスト

このテストでは、コンピュータ上のすべてのアプリケーションが .NET Framework 4.0 を使用して正常に実行できるかどうかを検証します。

1.           コンピュータ上のすべてのマネージアプリケーションが .NET Framework の最新のバージョンを必要とするように構成します。これを行うには、次のレジストリキーを作成するか設定します。

"OnlyUseLatestCLR"=dword:00000001

32 ビットコンピュータの場合は、次のノードの下にレジストリキーを設定します。

[HKEY_LOCAL_COMPUTER \ SOFTWARE\Microsoft \ .NETFramework ]

32 ビットアプリケーションを実行する 64 ビットコンピュータの場合は、次のノードの下にレジストリキーを設定します。

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework]

64 ビットと 32 ビットのマネージアプリケーションを実行する 64 ビットコンピュータの場合は、次の両方のノードの下にレジストリキーを設定します。

[HKEY_LOCAL_COMPUTER \ SOFTWARE\Microsoft \ .NETFramework ]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ Microsoft\.NET Framework]

2.           アプリケーション で使用される可能性があるすべての 機能を 実行 し、 .NET Framework 4 で正常に動作することを検証します。次のようなテストを実行します。

·         用意したすべての自動テストを実行する。

·         タイミングやパフォーマンスに影響されるすべてのシナリオを試す。

·         Windows Vista の 32 ビット版と 64 ビット版、 Windows XP などの複数のオペレーティングシステムでテストする。

3.           テストが終了したら、レジストリの値を次の値に戻します。

"OnlyUseLatestCLR"=dword:00000000

結果 の 評価

結果の検証方法については、このドキュメントの「 結果の評価 」を参照してください。

COM アドインをテストする

チュートリアルのこのセクションでは、 .NET Framework の Versions 2.0 と 4.0 が並列でインストールされている場合に 、 COM アドインが正常に動作するかどうかをテストする方法について説明します。

シナリオ 4: .NET Framework 4 を使用する COM アドイン の テスト

このテストは、 .NET Framework 2.0 を使用してビルドされ、 .NET Framework 2.0 アプリケーションで実行される COM アドインを 対象と します。このテストでは、 .NET Framework 4 で動作するようにアドインを構成します。

1.           <program>.exe.config という名前のアドイン用の XML ファイルを作成します。たとえば、アドインの名前が Example.exe である場合は 、 Example.exe.config という名前のファイルを作成します。

2.           この構成ファイルをアドインの .exe ファイル が格納されている フォルダにコピーします。

3.           次の要素をファイルに追加します。

<configuration>

  <startup>

    <supportedRuntime version="v4.0" />

    <supportedRuntime version="v2.0.50727"/>

    <process>

      <rollForward enabled="false" />

    </process>

  </startup>

</configuration>

4.           ファイルを保存します。

5.           アプリケーションを起動し、アドインを実行します。

6.           アプリケーション で使用される可能性がある すべての機能を 実行 し、 .NET Framework 4 で正常に動作することを検証します。次のようなテストを実行します。

·         用意したすべての自動テストを実行する。

·         タイミングやパフォーマンスに影響されるすべてのシナリオを試す。

·         Windows Vista の 32 ビット版と 64 ビット版、 Windows XP などの複数のオペレーティングシステムでテストする。

結果 の 評価

結果の検証方法については、このドキュメントの「 結果の評価 」を参照してください。

.NET Framework 4 を使用するクライアントアプリケーションをテストする

チュートリアルのこのセクションでは、 .NET Framework の旧バージョンを使用して作成されたマネージコードクライアントアプリケーションが、 .NET Framework 4 だけで動作するかどうかを検証する方法について説明します。

シナリオ 5: インストールのテスト

このテストでは、 .NET Framework の 2.0 と 4.0 がインストールされたコンピュータでアプリケーションが正常に機能するかどうかを検証します。

1.           .NET Framework 4 だけがインストールされた"クリーン な "コンピュータまたは Virtual PC イメージを構成します。

2.           アプリケーションをコンピュータにインストールします。アプリケーションによっては、インストールを続行するためにアプリケーションがビルドされた .NET Framework のバージョンをダウンロードするように求められます。

3.           コンピュータ上のすべてのマネージアプリケーションが .NET Framework の最新のバージョンを必要とするように構成します。これを行うには、次のレジストリキーを作成するか設定します。

"OnlyUseLatestCLR"=dword:00000001

32 ビットコンピュータの場合は、次のノードの下にレジストリキーを設定します。

[HKEY_LOCAL_COMPUTER \ SOFTWARE\Microsoft \ .NETFramework ]

32 ビットアプリケーションを実行する 64 ビットコンピュータの場合は、次のノードの下にレジストリキーを設定します。

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\.NETFramework]

64 ビットと 32 ビットのマネージアプリケーションを実行する 64 ビットコンピュータの場合は、次の両方のノードの下にレジストリキーを設定します。

[HKEY_LOCAL_COMPUTER \ SOFTWARE\Microsoft \ .NETFramework ]

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\ Microsoft\.NET Framework]

4.           アプリケーション で使用される可能性がある すべての機能を 実行 し、 .NET Framework 4 で正常に動作 す ることを検証します。次のようなテストを実行します。

·         用意したすべての自動テストを実行する。

·         タイミングやパフォーマンスに影響されるすべてのシナリオを試す。

·         Windows Vista の 32 ビット版と 64 ビット版、 Windows XP などの複数のオペレーティングシステムでテストする。

5.           テストが終了したら、レジストリの値を次 の値 に戻します。

"OnlyUseLatestCLR"=dword:00000000

結果の評価

結果を評価し、次の表の指示に従います。

結果

次のステップ

はい、アプリケーションは予想どおりにインストールされました。

次のシナリオに進みます。

はい、アプリケーションは、アプリケーションによって要求された .NET Framework のバージョンをインストールした後、予想どおりにインストールされました。

次のシナリオに進みます。

いいえ、 .NET Framework 4 がインストールされた後、アプリケーションは予想どおりにインストールされませんでした。

エラーが発生した手順を記述したバグレポートを Microsoft Connect Web サイト (http://connect.microsoft.com/) に送信します。

シナリオ 6: アプリケーションの動作の検証

このテストでは、 .NET Framework 4 だけがインストールされたコンピュータでアプリケーションが正常に実行されるかどうかを検証します。

1.           .NET Framework 4 だけがインストールされた"クリーン な "コンピュータまたは Virtual PC イメージを構成します。

2.           アプリケーションをコンピュータにインストールします。アプリケーションによっては、インストールを続行するためにアプリケーションがビルドされた .NET Framework のバージョンをダウンロードするように求められます。

3.           [HKEY_LOCAL_COMPUTER\SOFTWARE\Microsoft\.NETFramework] レジストリキーを次のように作成するか設定します。

"OnlyUseLatestCLR"=dword:00000001

4.           アプリケーション で使用される 可能 性があるすべての 機能を 実行し 、 .NET Framework 4 で正常に動作 す ることを検証します。次のようなテストを実行します。

·         用意したすべての自動テストを実行する。

·         タイミングやパフォーマンスに影響されるすべてのシナリオを試す。

·         Windows Vista の 32 ビット版と 64 ビット版、 Windows XP などの複数のオペレーティングシステムでテストする。

5.           テストが終了したら、レジストリの値を次に戻します。

"OnlyUseLatestCLR"=dword:00000000

結果 の 評価

結果の検証方法については、このドキュメントの「 結果の評価 」を参照してください。

Web アプリケーションをテストする

チュートリアルのこのセクションでは、 .NET Framework の 2.0 と 4.0 が並列でインストールされている場合に ASP.NET Web アプリケーションをテストする方法について説明します。

シナリオ 7: .NET Framework 4 を使用するプリコンパイル済みの Web アプリケーションの実行

このテストでは、 .NET Framework の旧バージョンを使用してプリコンパイルされた Web アプリケーションをテストし、 .NET Framework 4 で実行 でき るかどうかを確認します。

1.           .NET Framework の Version 2.0 または 3.5 で稼動している Web サイトをプリコンパイルします。これは、コマンドライン ASP.NET コンパイルツールを実行し、次の構文を使用することで実行できます。

<%WinDir%>\Microsoft.Net\Framework(64)\v4.0.x.x\aspnet_compiler -v /<ApplicationName> <TargetDir>

たとえば、 ExampleWebApp という名前の Web アプリケーションをコンパイルし、コンパイル後のアセンブリを C:\Target フォルダに配置するには、次のコマンドを使用します。

aspnet_compiler -v /ExampleWebApp c:\Target

2.           プリコンパイル済みの Web サイトを .NET Framework 4 がインストールされたコンピュータにコピーします。

ターゲットコンピュータに .NET Framework 4 がインストールされ、有効になっていることを確認するには、次のコマンドを実行します。

<%WinDir%>\Microsoft.Net\Framework(64)\v4.0.x.x\aspnet_regiis –i –enable

3.           アプリケーションプールのターゲットが .NET Framework 4 であることを確認します。

4.           アプリケーションの Web.config ファイルを開きます。

5.           Web.config ファイルに <compilation> セクションがある場合は、次の属性を追加します。

targetFrameworkMoniker=".NETFramework,Version=v4.0"

6.           Web.config ファイルに <system.codedom> セクションがある場合は削除します。

これで、 Web サイトは .NET Framework 4 を使用して実行 す るように構成されました。

7.           Web サイトを実行し、アプリケーション で使用される可能性がある すべての機能を 実行 し、 .NET Framework 4 で正常に動作 す ることを検証します。

結果の評価

結果の検証方法については、このドキュメントの「 結果の評価 」を参照してください。

シナリオ 8: .NET Framework 4 を使用する動的コンパイルのテスト

このシナリオでは、 .NET Framework の旧バージョンと .NET Framework Version 4.0 の間のソースコードの互換性をテストします。

1.           .NET Framework の Version 2.0 または Version 3.5 を対象とする Web サイトを .NET Framework 4 がインストールされたコンピュータにインストールします。

ターゲットコンピュータに .NET Framework 4 がインストールされ、有効になっていること を 確認するには、次のコマンドを実行します。

<%WinDir%>\Microsoft.Net\Framework(64)\v4.0.x.x\aspnet_regiis   –i   –enable

2.           アプリケーションプールのターゲットが .NET Framework 4 であることを確認します。

3.           アプリケーションの Web.config ファイルを開きます。

4.           Web.config ファイルに <compilation> セクションがある場合は、次の属性を追加します。

targetFrameworkMoniker=".NETFramework,Version=v4.0"

5.           Web.config ファイルに <system.codedom> セクションがある場合は削除します。

これで、 Web サイトは .NET Framework 4 を使用して実行 す るように構成されました。

6.           Web サイトを実行し、アプリケーションのすべての可能な機能を操作して、それらが .NET Framework 4 で正常に動作することを検証します。

結果の評価

結果の検証方法については、このドキュメントの「 結果の評価 」を参照してください。

シリアル化をテストする

アプリケーションをテストする際の重要な領域 として 、データのシリアル化 がありま す。内部のデータ構造が変更されると、変更前の状態に復旧できるような形でデータのシリアル化や永続化が行われているかどうかが容易に確認できなくなる可能性があります。たとえば、 .NET Framework 4 で作成したアプリケーションでデータをシリアル化し、 .NET Framework 4 で作成した別のアプリケーション ( または同じアプリケーション ) で逆シリアル化した場合は、おそらく正しく動作 します 。ただし、データのシリアル化形式が、 .NET Framework のバージョン間で変更された場合、アプリケーションがすべての場合に正常に動作するとは限りません。 .NET Framework 2.0 で記述されたアプリケーションは、 .NET Framework 4 でシリアル化されたデータを読み取ることができない可能性があります。逆のケースも同じです。 .NET Framework には数十 個 のシリアル化クラスがあり、さらに、アプリケーション開発者やサードパーティライブラリの開発者は、しばしば独自のクラスを記述します。したがって、シリアル化は、特にテストを行う必要がある重要な領域です。

次のように、 .NET Framework の異なるバージョンを使用してシリアル化をテストすることをお勧めします。

·         .NET Framework 2.0 を使用するアプリケーションでデータファイルを保存し、 .NET Framework 4 を使用するアプリケーションでそれを読み取る。

·         逆方向の操作を行う (.NET Framework 4 で保存し、 .NET Framework 2.0 で読み取る ) 。ユーザーは、新しいコンピュータ上のアプリケーションから古いコンピュータ上のアプリケーションにファイルを転送することがあります。したがって、下位互換性 が必要とされる シナリオ も 考えられ ます 。古いバージョン で 新しい形式のデータを読み取る必要があるので、これに対応するのは特に困難です。

·         アプリケーションがデータを永続化できるすべての方法を考慮する。これには、ユーザーファイルの保存、クラッシュからの回復、構成ファイルの変更などがあります。すべてのシナリオをテストします。

データは、クライアントがサーバーとデータを交換するときにもシリアル化されます。次のテストを行います。

·         アプリケーションがクラウド内のサーバーと通信できる場合は、 .NET Framework 4 を使用するクライアントと .NET Framework 2.0 を使用するサーバーを使用して実行する。可能であれば、逆のパターンもテストします。

·         アプリケーションにピアツーピア機能がある場合は、 不一致な クライアントを使用してテストする。

Page view tracker