Open棟梁Project - マイクロソフト系技術情報 Wiki

目次

概要

.NETの場合

.NETの場合、

に該当します。

に、複数バージョンのランタイムをロードできないので(注1)、
アプリケーションはどれか1つのバージョンのランタイム上で動かす必要があります。
このため、例えば、.NET Framework1.1をターゲットとしたクラス ライブラリ(DLL)を
.NET Framework2.0のWindowsアプリケーション(EXE)から呼び出した場合、
当該DLLは、.NET Framework2.0上で動作します。
このため、この点については環境移行として考えることができます。

つまり、旧バージョンの .NET Framework でビルドしたアプリケーションとコンポーネントは、.NET Framework 4.5 で動作します。
ただし、現実的には、この互換性は、.NET Framework のわずかな変更やプログラミング技法の変化によって損なわれている可能性があります。

・・・ とのことですが、これは、COMアドインに限定されるようです(参考2)。

異なるランタイム(アプリケーション・ドメイン)でグローバル変数などの共有ができるとは考えにくいので、
すべてがCOMインターフェイス経由でブリッジされる場合に限定されるようです。

.NET Framework1.1 → 2.0~3.5

ランタイムのバージョンアップ

既に説明しましたが、.NET Frameworkランタイムのバージョンアップは、環境移行に該当します。

開発環境のバージョンアップ

.NET Frameworkのバージョンアップに伴い一部犠牲となった後方互換の問題を完全に解決するには、

必要があります。

こちらの作業は、手修正無しのコンバージョン移行に該当し、変換後、必要に応じて

などの修正を施します 。

この変換ツールは、ソリューション / プロジェクト ファイルやconfigファイル、一部のソースコードを変換しますが、
VS2005、2008(.NET Framework2.0~3.5)でサポートされた新機能を使用するようには変換されません。
このため、例えば、以下の新機能を使用する場合、コードを手修正する必要があります。

製品サポート状況の確認

3rdパーティ製品が、.NET Frameworkの最新バージョンをサポートしていない場合があるので注意が必要です。

また、.NET Framework ランタイムや開発環境のバージョンアップに伴い、 使用する3rdパーティ製ライブラリの当該環境上でのサポートが無くなる場合、
代替ライブラリのI/F変更発生に起因する修正範囲拡大の可能性があります ので、その場合の移行作業は手修正有りのコンバージョン移行に近づきます。

.NET Framework2.0 → 3.0、3.5

.NET Framework1.1、2.0、3.0、3.5 → 4、4.5(4.5.1, 4.5.2)

.NET Framework4 → 4.5( → 4.5.1, → 4.5.2)

ASP.NETの場合

ASP.NETの場合は、ASP.NET1.1からASP.NET2.0への移行になります。
上記の「.NET Framework1.1 → 2.0~3.5」より少々複雑になります。

ランタイムのバージョンアップ

プロジェクト ファイルやconfigファイルの変更などが必要になるため、
新しい開発環境に付属の変換ツールを使用して変換します(環境移行ではない)。

開発環境のバージョンアップ

上記の「.NET Framework1.1 → 2.0~3.5」と同様に、
VS2003プロジェクトをVS2005、2008に付属の変換ツールで変換して、
ASP.NET2.0をターゲットとしたWebアプリケーションとして再構成する必要があります。
こちらの作業は、手修正無しのコンバージョン移行に該当します。

また、特に大きな変更として、ASP.NET2.0では、デフォルトのHTMLレンダリングが、
HTML4.01(ASP.NET1.1) → XHTML(ASP.NET2.0)と変更されます。
上記の変換ツールを使用した場合、configファイルのxhtmlConformanceタグの
mode属性にLegacyが設定され、HTML4.01でレンダリングされます。

レンダリングをHTML4.01からXHTMLに変更する場合は、

直接出力に問題があれば修正が必要になります
(Web コントロールを使用していれば、自動的に指定のDTDに対応したHTMLが出力されます)。
この部分の修正量が多くなるようであれば、移行作業は手修正有りのコンバージョン移行に近づきます。

また同様に、この変換ツールは、ソリューション / プロジェクト ファイルやconfigファイル、一部のソースコードを変換しますが、
VS2005、2008(ASP.NET2.0)でサポートされた新機能を使用するようには変換されません。

このため、例えば、以下の新機能を使用する場合、コードを手修正する必要があります。

を参照。

製品サポート状況の確認

上記の「.NET Framework1.1 → 2.0~3.5」と同様に、製品サポート状況の確認が必要です。
また同様に、.NET Framework ランタイムや開発環境のバージョンアップに伴い、
使用する3rdパーティ製ライブラリの当該環境上でのサポートが無くなる場合、
代替ライブラリのI/O、I/F変更発生に起因する修正範囲拡大の可能性がありますので、
その場合の移行作業は手修正有りのコンバージョン移行に近づきます。

確認のポイントとしては、

などが考えられます。

関連リンク

内部リンク

.NET Framework 移行センター

http://www.microsoft.com/japan/net/migration/

MSDN

テクニカルドキュメント > .NET 開発

その他


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS