XP SP2の悪夢再来? .NET Framework 2.0に非互換問題 (1/2)

Windows XP SP2へのアップグレード時に起きたようなアプリケーションの互換性問題が、.NET Framework 2.0への移行でも起きるようだ。Microsoftは互換性テストへの協力を求めている。


eWEEK

 Microsoftは、現行版.NET FrameworkとVisual Studio 2005の次期版の互換性をチェックするのを手伝ってくれる数人の善良な市民、そしてアプリケーションを探している。

 同社はリクルートモードに入っており、手持ちの.NETアプリケーションと次期版.NET Frameworkの互換性テストをしたいと言ってくれる独立系ソフトベンダー、企業顧客、開発者、エンドユーザーなどを探している。

 問題になっているのは、アプリケーションに障害が起きることだ。Microsoftは、.NET Framework 1.1向けに書かれたアプリケーションを.NET Framework 2.0で走らせたときに障害が起きるケースを確認した。

 この問題は、先月のVisual Studio 2005(「Whidbey」とも呼ばれる)のβ2リリースにより浮上した。このβ2では.NET Framework 2.0が導入されている。

 Microsoftは社内テストでこの下位非互換の変更に気づき、5月24日にアプリケーションの障害の一部原因に対処するためのホワイトペーパーを掲載した。しかし、同社はテストするアプリケーションをさらに探しているところだ。同社はテストする.NET Framework 1.1アプリケーションを募集しており、デベロッパーに自社のアプリケーションをnetfxcmp@microsoft.comあてに電子メールで提出するよう求めている。

 同社は、下位非互換変更を「特定のアプリケーションと開発シナリオに異なる動作をさせる.NET Framework(ランタイムの下位非互換変更)かVisual Studio(設計、コンパイル、プロジェクトアップグレード)のいずれかにおける変更」と定義している。

 そこで同社はデベロッパーに、Whidbeyのβ2期間中に自社の.NET Framework 1.1アプリケーションをバージョン2.0でテストするよう勧めている。Whidbeyの正式版は今年後半にリリースが予定されている。

 Microsoft関係者によると、.NET Framework 1.1上で構築されたスタンドアロンのWindowsクライアントまたはWebアプリケーションは、たとえ.NET Framework 2.0がインストールされているマシンでも、自動的にバージョン1.1で実行される。一方Microsoft OfficeやInternet Explorer(IE)などのネイティブアプリケーションのマネージドアドインは、自動的にコンピュータにインストールされている最新版の.NET Frameworkで実行される。

 ただし、この互換問題に関するMicrosoftのホワイトペーパーには、「.NET Framework 1.1アプリケーションとの互換性に関しては、説明されている一連の変更を別にして、これらアプリケーションが.NET Framework 2.0でスムーズに動作することを目指している」と記されている。しかし「β2ではこの目標を達成できず、アプリケーション問題に関するフィードバックを求めている。この問題は.NET Framework 2.0正式リリース前には対処できる」という。

 Microsoftの関係者は、社内のアプリケーション互換性テストで、テスターが10件弱の下位非互換変更を発見したとしている。その中にはAPIとビヘイビアに関するものも含まれる。APIの下位非互換変更はセキュリティ上の懸念から行われたもので、ビヘイビアの変更は浮動小数点演算の精度における変更などの要因で行われた可能性があるという。

 実際、.NET Framework 2.0の下位非互換変更は標準への準拠、顧客のフィードバック、正確性に関連しているとMicrosoftは説明する。

 「互換性は常にMicrosoftにとって重要だ」とVisual Studio事業開発マネジャー、バラク・コーエン氏。「Whidbeyの変更は顧客の要求に対する直接の対応だ。われわれは顧客にとって製品が最高に機能するようにするという願いを実現するために行動している」

 Visual Basic .NET担当プロダクトマネジャー、ジェイ・ロクシー氏は、デフォルトでは、.NET Frameworkを使って構築されたアプリケーションは、構築に使われたバージョンのFrameworkがコンピュータにインストールされていれば、そのバージョンで動作すると説明する。.NET Framework 1.1ベースのアプリケーションがバージョン2.0によってロードされ、下位非互換の変更にぶつかった場合は、「そのアプリケーションは機能しなくなるかもしれない」とMicrosoftのホワイトペーパーには記されている。

 しかし、デベロッパーは.NET Framework 1.1と2.0を同じマシンで走らせ、アプリケーションがそれぞれ対応するFrameworkのバージョンで走るようにできるとロクシー氏。

 「デフォルトでは、.NET Frameworkでアプリケーションを構築すると、その土台となったバージョンがデフォルトになる。2.0がマシンに載っていて、アプリケーションが1.1で書かれている場合、デフォルトではそのアプリケーションは1.1上で走ろうとする」(同氏)

 さらに、Microsoftのホワイトペーパーには次のように書かれている。「アプリケーションが.NET Framework 1.0、1.1、2.0上で起動すると、CLR(Common Language Runtime)はそのアプリケーションに記録された.NET Frameworkのバージョンを調べ、そのアプリケーションのコンパイルに使われたバージョンで走らせようとする。そのバージョンがマシンにインストールされていない場合、CLRは最新版の.NET FrameworkとCLR上で起動しようとする。例えば、.NET Framework 1.0でコンパイルしたアプリケーションをバージョン1.1しか搭載されていないマシン上で走らせると、ロールフォワードされて1.1で実行される。同様に、バージョン1.1でコンパイルしたアプリケーションをバージョン2.0しか載っていないマシンで走らせると、ロールフォワードされて2.0で実行される」

       1|2 次のページへ

Editorial items that were originally published in the U.S. Edition of “eWEEK” are the copyrighted property of Ziff Davis Enterprise Inc. Copyright (c) 2010. All Rights Reserved.




キャリアアップ



エンタープライズ・ピックアップ

news004.jpg 世界で勝つ 強い日本企業のつくり方:利用契約の検討――グローバルクラウドで失敗しないために(前編)
2010年以降、クラウドサービスの利用がさらに加速する。サービスを利用する企業はプロバイダーのデータセンターに預けた自社情報を保護するために、法的な要素を理解しておかなければならない。企業が注意を払うべき法的な検討事項を整理する。

news001.jpg IT投資の新方程式:「Twitter使ってます」――現役MS社員が“社員力”を語る(前編)
マイクロソフトが掲げるプロモーションメッセージ「社員にチカラを。ITで企業力を。(以下、BIEB)」からは、ITで社員の生産性を向上することが業績の拡大につながる、といったニュアンスを感じる。そこで気になるのが「じゃあ、マイクロソフトの社員自身はどうなのよ?」ということ。3人の現役MS社員により実態が明らかになる……?

news010.jpg 産業構造を変えるか:「住宅クラウド」の衝撃
住宅都市工学研究所が進める「住宅クラウド」は、クラウドが企業のIT領域にとどまらず、ビジネスのやり方自体を変える可能性を示している。

news010.jpg オルタナティブな生き方 栗原進さん:ネットでリアルを楽しくしたい
SE出身の企業広報マンでありながら、趣味は落語で憧れの人はインディ・ジョーンズとアナログ全開の栗原さんに、ブログを書く理由やネットからはじまるコミュニケーションについて伺った。

news001.jpg 最強最速アルゴリズマー養成講座:トップクラスだけが知る「このアルゴリズムがすごい」――「探索」基礎最速マスター
プログラミングにおける重要な概念である「探索」を最速でマスターするために、今回は少し応用となる探索手法などを紹介しながら、その実践力を育成します。問題をグラフとして表現し、効率よく探索する方法をぜひ日常に生かしてみましょう。