3.5 へのアップグレード後の ASP.NET 2.0 アプリケーションの修正

Visual Web Developer や Visual Studio 2008 で ASP.NET 2.0 Web サイトを初めて開くと、プロジェクトを 3.5 にアップグレードするかどうかを確認するメッセージが表示されます。

35Up-2 

Microsoft AJAX を使用していて、3.5 へのアップグレードを確認するメッセージで [はい] をクリックした人は気付いているかと思いますが、アップグレードしたアプリケーションを起動すると、以前は正常に動作していたにもかかわらず、ビルドエラーが発生します。

35Up-3このビルドエラーは、 

System.Web.Extensions Version 1.0.61025.0 を読み込むことができないと通知しています。

35UpError 

このエラーの説明に示されている Web.Extensions (AJAX) は、ASP.NET 2.0 用の古いバージョンです。

web.config ファイルには、この古いバージョンの参照が多数あります。2008 リリースが開始される以前、MS AJAX は別のアセンブリから読み込まれていましたが、現在は ASP.NET に "作成される" ため、アップグレード ツールは参照されたバージョンが不要であることを認識できません。

UpVer1 

そのため、web.config を開き、1.0.61025.0 バージョンの参照を 3.5.0.0 に変更する必要があります (ただし、CTP または Futures 版を使用している場合は、その必要はありません)。

  

UpVer35 

AJAX Control Toolkit を使用している場合は、もう 1 つ必要な作業があります。

Toolkit Control インスタンスに対して次のようなエラーが表示されます。

35Up-8 

AJAX Control Toolkit の ASP.NET 3.5 対応のバージョンをダウンロードします。

メモ : ASP.NET 2.0 プロジェクトと ASP.NET 3.5 プロジェクトに対してそれぞれ別のバージョンがあります。

Windows Vista を使用している場合は、.zip ファイルを右クリックし、[プロパティ] を選択して、ファイルの "ブロックを解除" します。

次に、ファイルを任意の場所に解凍します。

コントロールに追加する [Visual Studio Toolbox] タブが 3.5 バージョンに対応していることを確認してください。

ここで、新しいツールキットに対応するようにプロジェクトをアップグレードする必要があります。その最も簡単な方法は、Visual Studio による自動アップグレードです。

ソースビューに切り替え、任意の Ajax Control Toolkit コントロールをページ内にドラッグ アンド ドロップします。

35Up-9 

このダイアログが表示されたら、[すべての項目に適用] をオンにし、[はい] をクリックします。

次に、追加したコントロールを削除します。

UpTKVer 

Visual Studio によってコントロールの参照が更新され、正常に動作するようになります。

投稿 : 2008 年 3 月 24 日 (月) 23:22 JoeStagner

Joe Stagner - https://www.misfitgeek.com/FixingAnASPNET20AppAfterUpgradingTo35.aspx (英語) より