Visual Studio .NET 2002/2003 から Visual Studio 2005 への Web プロジェクトの変換に関するステップ バイ ステップ ガイド

 

Web プラットフォームとツール チーム
Microsoft Corporation

2006 年 7 月

概要: 既存の Visual Studio .NET 2003 Web プロジェクトを Visual Studio 2005 の Web アプリケーション プロジェクト (7 ページ) に変換するプロセスについて説明します

Visual Studio .NET 2003 Web プロジェクトを Web アプリケーション プロジェクトに移行する
   手順 1: Visual Studio 2005 Web アプリケーション プロジェクト プレビューをインストールする
   手順 2: Visual Studio .NET 2003 プロジェクトをバックアップする
   手順 3: Visual Studio .NET 2003 Web プロジェクトを開いて確認する
   手順 4: ソリューションを Visual Studio 2005 に移行する
   手順 5: Visual Studio 2005 で確認する
   手順 6: クラスを部分クラスにCode-Behind隠す
   手順 7: XHTML コンプライアンスの問題を調べて解決する
Web アプリケーション プロジェクトの未来

Visual Studio .NET 2003 Web プロジェクトを Web アプリケーション プロジェクトに移行する

この記事では、既存の Visual Studio .NET 2003 Web プロジェクトを Visual Studio 2005 の Web アプリケーション プロジェクトに変換するプロセスについて説明します。 Web アプリケーション プロジェクト モデルでは、Visual Studio .NET 2003 の Web プロジェクトと同じ概念アプローチが使用されます。これには、ファイルを含めて除外するプロジェクト ファイル、1 つのアセンブリへのコンパイルなどが含まれます。 一般に、Web アプリケーション プロジェクトでは、変換後にアーキテクチャを変更する必要はありません。

この記事では、C# で作業していることを前提としています。 Visual Basic の操作手順は非常に似ていますが、ファイル名とコードの一部は異なります。

手順 1: Visual Studio 2005 Web アプリケーション プロジェクト プレビューをインストールする

「Web アプリケーション プロジェクトのインストール」の手順に従って、Visual Studio 2005 に Web アプリケーション プロジェクトをインストールしていることを確認します。

手順 2: Visual Studio .NET 2003 プロジェクトをバックアップする

移行を試みる前に、必ず Visual Studio .NET 2003 Web プロジェクトとソリューションのバックアップを保存してください。 次の手順は、Web アプリケーション プロジェクトのプレビュー バージョンを使用してテストされています。 ただし、引き続き問題が発生する可能性があり、Visual Studio .NET 2003 ソリューションを復元する必要がある場合があります。

手順 3: Visual Studio .NET 2003 Web プロジェクトを開いて確認する

プロジェクトを移行する前に、既存の Visual Studio .NET 2003 ソリューションを開き、コンパイルして実行します。 移行前にすべてが機能することを確認するために数分を費やすと、後で問題が発生する可能性があります。特に、エラーの原因が直前のディレクトリ変更などの場合です。

手順 4: ソリューションを Visual Studio 2005 に移行する

Visual Studio .NET 2003 でソリューションを閉じ、Visual Studio 2005 を起動します。 [ ファイル ] メニューの [ ファイルを開く] をクリックし、移行するソリューションの .sln ファイルを参照します。 これにより、Visual Studio 2005 変換ウィザードが起動します。

Aa479567.wap_11(en-us,MSDN.10).gifAa479567.wap_11

図 1. Visual Studio 2005 変換ウィザード

[ 次へ ] をクリックしてウィザードを続行し、すべての既定値をそのまま使用します。 Visual Studio 2005 では、ソリューションとその含まれているプロジェクト ファイルが変換され、VISUAL Studio 2005 の新しいプロジェクト ファイル形式である MSBuild 形式が使用されます。

移行の一環として、Visual Studio 2005 では、変換プロセスの概要を提供する XML ベースのログ ファイルが生成され、移行中に発生した問題にフラグが設定されます。 既定では、変換ログ ファイルは .sln ファイルと同じディレクトリに保存されます。 プロジェクトのコンパイル時に後で問題が発生した場合は、変換ログ ファイルを参照する必要がある場合があります。

手順 5: Visual Studio 2005 で確認する

ソリューション ファイルとプロジェクト ファイルが Visual Studio 2005 形式にアップグレードされたら、アプリケーションがエラーなしでビルドされ、想定どおりに実行されることを検証します。 この時点で、最も一般的なエラーまたは警告は次の種類になります。

  • .NET Framework バージョン 2.0 で導入された の名前と競合しています。
  • 古いメンバーの使用に関する警告。

名前付けの競合を修正するには、名前空間を持つ既存の名前を完全修飾してあいまいさを削除するか、メンバーの名前を変更して競合しないようにすることができます。

古いメンバーの使用に関する警告が表示された場合、警告メッセージは通常、使用する代替 API を提案します。 このような場合は、.NET Frameworkの 2.0 バージョンで古いメンバーを引き続き使用できます。 ただし、.NET Frameworkの次のメジャー リリースではメンバーが削除されるため、メンバーを削除し、推奨される代替手段に置き換えるのが良い方法です。

Web アプリケーションを実行しているときに、仮想ディレクトリでコンテンツの一覧表示が許可されていないことを示唆する "ディレクトリ一覧が拒否されました" というエラーが表示されることがあります。 このエラー メッセージが表示された場合は、次の操作を行います。

  1. ブラウザーを閉じます。
  2. ソリューション エクスプローラーで、アプリケーションのスタート ページを右クリックし、[スタート ページとして設定] をクリックして、アプリケーションの実行時に正しいページが呼び出されるようにします。
  3. アプリケーションをもう一度実行します。

手順 6: クラスを部分クラスにCode-Behind隠す

前に説明したように、Visual Studio 2005 では、Web アプリケーション プロジェクトは部分クラスを使用してデザイナーによって生成されたコードを格納します。 これらのクラスは、分離コード ファイルとは別のファイルに格納されます。 既定では、Visual Studio 2005 Web プロジェクト変換ウィザードでは、Web ページ (.aspx ファイル) またはユーザー コントロール (.ascx ファイル) 用の *.designer.cs (または *.designer.vb) ファイルは作成されません。 代わりに、Visual Studio .NET 2003 と同じようにコードが表示され、動作します。

メモ ウィザードでは、Visual Studio 2005 で Web アプリケーション プロジェクトにスムーズに変換できるように、移行中にコード ファイルに最小限の変更を加えます。

この形式でコードを保持できます。 その場合は、分離コード ファイル内のコントロール フィールド宣言を手動で更新する必要がありますが、Visual Studio 2005 では他のすべてが正常に動作します。

生成されたコードでフィールド宣言を保持するエディターの機能を利用するには、ASP.NET 2.0 で導入された部分クラス モデルを使用するようにページとコントロールを更新する必要があります。 部分クラスを使用すると、分離コード ファイルの生成されたコードとカスタム コードを簡単に整理できます。 .designer.cs ファイルの詳細については、「 シナリオ 1: 新しい Web アプリケーション プロジェクトの作成」を参照してください。

部分クラス モデルを使用するようにコードを移行するには、まず、コードがエラーなしでコンパイルされることを確認します。 次に、ソリューション エクスプローラーでプロジェクト名を右クリックし、[Web アプリケーションに変換] をクリックします。 このコマンドは、プロジェクト内の各ページとユーザー コントロールを反復処理し、すべてのコントロール宣言を .designer.cs ファイルに移動し、.aspx ファイルと .ascx ファイルのサーバー コントロール マークアップにイベント ハンドラー宣言を追加します。

メモ もう 1 つのオプションは、個々のページで [Web アプリケーションに変換 ] コマンドを使用することです。 アプリケーション全体に変更を適用する前に、各ページに加えられた変更を厳密にwatchする場合は、まずいくつかのページでこれを行うことができます。

Aa479567.wap_12(en-us,MSDN.10).gifAa479567.wap_12

図 2. 単一ページを Web アプリケーション プロジェクト形式に変換する

プロセスが完了したら、[タスク一覧] ウィンドウをチェックして、変換エラーが報告されたかどうかを確認します。 タスク リストにエラーが表示される場合は、ソリューション エクスプローラーの関連ページを右クリックし、[コードの表示] と [コード生成ファイルの表示] を選択してコードを確認し、問題を修正します。 [タスク一覧] ウィンドウに表示されるエラーと警告は、Visual Studio セッション間で保持されることに注意してください。 ウィンドウに表示されるエラーを修正したら、タスク リストからアイテムをクリアできます。

メモ Visual Studio で [ Web アプリケーションに変換 ] コマンドを元に戻すことはできません。 変更を元に戻す最善の方法は、Visual Studio .NET 2003 プロジェクトのバックアップから復元してから、上記の手順 4 で説明したように Visual Studio 2005 の移行を再実行することです。

次に、プロジェクトを再コンパイルして、エラーなしでコンパイルされるようにします。 エラーの原因として考えられるのは、分離コード クラスのコントロール宣言を変更し、変換ウィザードが変更を誤って処理した場合です。

この時点から、Web プロジェクトに新しいページを追加すると、既定で部分クラス テンプレートが使用されます。

手順 7: XHTML コンプライアンスの問題を調べて解決する

既定では、Visual Studio 2005 は XHTML 準拠のマークアップを生成して検証します。 これは、標準に準拠している Web アプリケーションを構築し、ブラウザー固有のレンダリングに関する問題を最小限に抑えるのに役立ちます。 Visual Studio .NET 2003 では XHTML 準拠のマークアップが生成されないため、Visual Studio .NET 2003 で作成されたページで検証とレンダリングの問題が発生する可能性があります。

メモ 検証エラーは情報提供のみを行い、警告としてフラグが設定されます。 検証エラーでは、ページの実行を妨げるものではありません。

検証エラーが表示されないようにするには、HTML 検証設定を XHTML Transitional から Internet エクスプローラー 6.0 (Visual Studio .NET 2003 の既定の設定) に切り替えます。 [ ツール ] メニューの [ オプション] をクリックします。 [ オプション ] ダイアログ ボックスで、[ テキスト エディター ] ノード、次に [HTML ] ノード、および [ 検証 ] ノードを開きます。 [ターゲット] ボックスの一覧で [インターネット エクスプローラー 6.0] を選択し、[エラーの表示] チェック ボックスをオフにします。 XHTML 検証エラーは修正されないことに注意してください。検証スキーマは、Visual Studio .NET 2003 によってマークアップが生成された方法と互換性のあるスキーマに切り替えるだけで、検証の警告は抑制されます。

Aa479567.wap_13(en-us,MSDN.10).gifAa479567.wap_13

図 3: HTML 検証の構成

次のセクションをプロジェクトの Web.config ファイルに追加することもできます。これにより、ASP.NET はサーバー コントロールからレガシ (非 XHTML 準拠) マークアップをレンダリングします。

  <system.Web>
  <xhtmlConformance mode="Legacy" />
</system.Web>

これにより、ASP.NET 1.1 を使用して表示されるページと、ASP.NET 2.0 を使用して表示されるページ間で表示される可能性のあるわずかなレンダリングの違いが回避されます。 詳細については、MSDN ライブラリの 「ASP.NET と XHTML 」を参照してください。

Web アプリケーション プロジェクトの未来

Web アプリケーション プロジェクトは、Visual Studio .NET 2003 で使用されるのと非常によく似たコンパイル モデルとビルド モデルを提供します。 要件に応じて、一部のユーザーは Visual Studio 2005 の新しい Web サイト プロジェクト オプションをアプリケーションに適しているのに対し、他のユーザーは [Web アプリケーション プロジェクト] オプションを使用します。 Web アプリケーション プロジェクトは、既存の Visual Studio .NET 2003 アプリケーションを Visual Studio 2005 にアップグレードするための最適なパスを提供します。このシナリオでは強くお勧めします。

Visual Studio 2005 Web アプリケーション プロジェクトの将来に関する次の重要な点を強調します。

  • 今後は、Visual Studio 2005 Web サイト プロジェクト モデルと Visual Studio 2005 Web アプリケーション プロジェクト モデルの両方を完全にサポートします。 最適なモデルを選択できます。
  • 今後のバージョンの Visual Studio では、Web アプリケーション プロジェクト モデルが組み込まれる予定であり、Web アプリケーション プロジェクト モデルと Web サイト プロジェクト モデルの両方がサポートされます。

© Microsoft Corporation. All rights reserved.