ニュース
» 2008年08月29日 17時00分 公開

どうする? .NET Framework 1.xアプリケーションの今後 (3/3)

[下村恭(ハンズシステム),ITmedia]
前のページへ 1|2|3       

移行のターゲットは?

 では、移行先はどうすればいいだろうか。開発環境となるVisual Studio 2008では、作成するアプリケーションを.NET Framework 2.0、3.0、3.5という3つのターゲットから選択することができる。そこでどのバージョンをターゲットとするかで悩むことになる。

 .NET Framework 3.0や3.5のクラスライブラリで提供される機能を必要としないのであれば、.NET Framework 2.0にしておくことで、しばらくの間は動作に困ることはないだろう。ClickOnceによる簡単な配布や、64ビット環境への対応といった、今となっては限定的なメリットしか享受できないが、.NET Framework 3.5の実行環境は、先に書いたとおり.NET Framework 2.0と同じであるためだ。ただ、サポートライフタイムポリシーを考慮すれば、.NET Framework 3.5を選択するのが無難だろう。

 さらに、先日発表された.NET Framework 3.5 SP1を移行先とすれば、最新のテクノロジーを利用できるだけでなく、改良されたCLRによりアプリケーションの起動を高速化することもできる。また、.NET Framework 2.0がインストールされていないWindows XPに限っての話だが、.NET Framework 3.5 SP1のクライアント機能のみに絞ってサイズを約26Mバイトに縮小した.NET Framework Client Profileを利用できる。これにより、.NET Framework 3.5の最新機能を利用しつつ、メモリ消費を抑えることも可能だ。

気になるVisual Studio 2008の互換性は?

 移行するとなれば、Visual Studio 2008が備える変換ウィザードを利用する。対象となるフレームワークを変換時に選択できるので、ターゲットとする.NET Frameworkのバージョンを選ぶ。

 だが変換の前に、.NET Frameworkのバージョン間の互換性について調べておくべきだろう。マイクロソフトのサイトにある「.NET Framework の互換性と移行に関する情報」や、「.NET Framework 2.0 での重大な変更点」は参考になる。互換性に関しては、CLRのバージョンの関係から、.NET Framework 1.xから.NET Framework 2.0への変更点を主に見るだけでよい。

 次はVisual Studio 2008自身の互換性だ。ASP.NETについては、Visual Studio 2005で廃止され、SP1で復活したWebアプリケーションプロジェクトも使えるし、DataSetデザイナーでもADO.NET 1.x形式のDataSetをそのまま使える上、2.0形式のDataTableを追加して共存させることも可能だ。Windowsフォームデザイナーについても、2種類のFormを混在できるし、イベントハンドラーの登録も2003形式で可能になっている。つまり、多くの部分で高い互換性を確保できていると言える。

 注意したいのは、Visual Studio 2005から導入されているコードビハインド(パーシャルクラス)だ。例外もあるものの、変換ウィザードではパーシャルへの変換は行ってくれないため、変換後のソースコードはあくまでも1つのファイルのままだ。

 便利な機能もある。Visual Studio Team Systemに用意されているコードの静的分析ツールを使えば、.NET Frameworkデザインガイドラインに従って、マネージコードの潜在的な問題点を洗い出してくれる。

 とはいえ、サードパーティー製のコンポーネントを使用していたり、ネイティブコードで記述されたAPIを使用していたり、シリアル化され永続化されているオブジェクトを利用する場合など、ツールに頼ることでは解決できない問題もある。

 最終的には、これらの状況を見つつ、移行プロジェクトチームで判断するしかないが、継続的にメンテナンスされる「生きた」アプリケーションであれば、WPFやSilverlightに代表される最新のテクノロジーが利用できる、最新環境に移行するのがベストなのは言うまでもないだろう。

前のページへ 1|2|3       

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ