.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
を使用するサーバーを使用して実行する。可能であれば、逆のパターンもテストします。
·
アプリケーションにピアツーピア機能がある場合は、
不一致な
クライアントを使用してテストする。