Visual Studio .NET からの Web プロジェクト変換

更新 : 2007 年 11 月

Microsoft Visual Studio 2005 では、Visual Studio .NET 2002 および Visual Studio .NET 2003 (以下、まとめて Visual Studio .NET と呼びます) とは異なる方法で Web サイト プロジェクトおよびファイルが管理されます。Visual Studio .NET で作成されたプロジェクトを Visual Studio 2005 で使用する場合は、プロジェクトが Web アプリケーション プロジェクトに変換されます。このプロセスは、Visual Studio 2005 で Visual Studio .NET プロジェクトを開いたときに自動的に行われます。Web アプリケーションの変換は 変換ウィザードによって行われ、変換を完了するために必要な手動編集作業は最小限です。このトピックでは、変換プロセスについて説明し、Visual Studio .NET ファイルで行われる変更を示します。Web アプリケーション プロジェクトの詳細については、「Web アプリケーション プロジェクトの概要」を参照してください。

変換プロセスの全体的な目標は、Visual Studio 2005 で Visual Studio .NET プロジェクトを開き、自動的に変換して、機能を変更せずに実行することです。変換プロセスは一方向です。つまり、プロジェクトを Visual Studio 2005 に変換すると、そのプロジェクトを Visual Studio .NET で使用することはできなくなります。Visual Studio 2005 によりプロジェクト内のファイルが変更されますが、元のファイルのバックアップ コピーを作成できます。Visual Studio .NET で Visual Studio 2005 ファイルをスタンドアロン ファイル (IntelliSense などの特定の機能なし) として開くことはできますが、プロジェクト全体が変更されることになります。必要に応じて、バックアップ ファイルから Visual Studio プロジェクトを復元できます。

95x0y0wt.alert_security(ja-jp,VS.90).gifセキュリティに関するメモ :

既存のプロジェクトを Visual Studio 2005 に変換する前に、既存のファイルをすべて調べます (特に、他のユーザーもプロジェクトを変更した場合)。未知のファイルを検索します。これにより、悪意のあるコードが Visual Studio にインポートされるのを防ぐことができます。一般に、管理タスクを実行する必要がない場合は、管理者としてではなく、通常のユーザーとして Visual Studio 2005 を実行することをお勧めします。

このトピックでは、Visual Studio 2005 への Web プロジェクトの変換に関する次の側面を説明します。

  • Visual Studio 2005 の変換プロセス

  • ソリューションとプロジェクト

  • プロジェクト設定の変換

  • 特定の構成の変換

  • データ コンポーネント

  • コード モジュール

  • Web サービス

  • 変換およびソース コード管理

Visual Studio 2005 の変換プロセス

Visual Studio .NET から Visual Studio 2005 への基本的な Web プロジェクトの変換プロセスの一覧を次に示します。

  1. Visual Studio 2005 で既存の Visual Studio .NET Web サイトを開きます。次のファイルおよびディレクトリを開くことができます。

    • ソリューション (.sln) ファイル

    • プロジェクト (.vbproj、.csproj、または .vjp) ファイル

    • Web サイトのルート ディレクトリ

  2. プロジェクト ファイルが見つかった場合、Visual Studio 2005 は変換ウィザードを呼び出して、Web プロジェクトを変換します。

    95x0y0wt.alert_note(ja-jp,VS.90).gifメモ :

    Visual Studio 2005 では、Web プロジェクトにはプロジェクト ファイルが不要になりました。Web プロジェクト フォルダ内にあるすべてのファイルが、Web プロジェクトの一部と見なされます。

    変換ウィザードの手順の詳細については、「方法 : Visual Studio .NET プロジェクトを Visual Studio 2005 に変換する」を参照してください。

  3. Visual Studio 2005 により、ASP.NET バージョン 1.x ではなく ASP.NET バージョン 2.0 を使用するように、Web アプリケーションが変換されます。たとえば、ASP.NET Web ページとユーザー コントロール内の CodeBehind 属性は、新しい CodeFile 属性に変更されます。ファイルが変更された場合、元のファイルのアクセス許可は保持されません。つまり、新しいファイルの読み取り/書き込みアクセス許可が、ユーザーに割り当てられます。ファイルに加えられた変更の詳細については、「Web ソリューションとプロジェクト ファイル変換」を参照してください。

  4. スタンドアロン クラス ファイルは App_Code ディレクトリに移動されます。

  5. その他の種類のファイルは変更されません。たとえば、グラフィックス、HTML ファイルなどです。また、移行プロセスでは、アプリケーションの外部にあるファイルは無視されます。これにより、悪意のあるユーザーがプロジェクト ファイル内の相対パスを使用して、アプリケーションの外部にあるファイルにアクセスする危険を回避できます。

  6. ConversionReport.txt という名前のレポートが作成され、変換された Web プロジェクトのルート ディレクトリに格納されます。このレポート ファイルには、Web プロジェクトに加えられたすべての変更が一覧表示されます。情報提供のためのコメント、警告、および変換中に見つかったエラーが含まれる場合もあります。変換ウィザードで、ウィザードの完了後に変換ログを表示するオプションを選択した場合は、Visual Studio 2005 に変換レポートが表示されます。このレポートの書式の詳細については、「移行変換レポートの書式」を参照してください。

95x0y0wt.alert_note(ja-jp,VS.90).gifメモ :

プロジェクトがソース管理を使用する場合、Web プロジェクト ファイルは、Visual Studio 2005 に変換された後、ソース管理下には置かれません。

ソリューションとプロジェクト

Visual Studio 2005 でソリューション ファイルを開くと、Visual Studio では .sln ファイルの内容を調べて、ファイルに含まれるプロジェクトの種類を判断します。Visual Web Developer では、Web アプリケーション (Web ページと Web サービス) のみが変換されます。Windows フォーム プロジェクト、コンソール アプリケーションなど、その他の種類のプロジェクトを含むソリューション ファイルを開くと、Web プロジェクトだけが開かれて変換されます。

プロジェクト ファイルを開くと、Visual Studio 2005 はそのプロジェクトによって参照されているファイルを変換します。プロジェクトの一部ではないプロジェクト ファイルと同じディレクトリにあるファイルは変換されません。これにより、ビルド エラーが発生する可能性があります。たとえば、Page1.aspx という名前のファイルと、フォルダ内に存在しプロジェクト ファイルには含まれていない Page1.aspx.cs という名前の分離コード ファイルがある場合、変換ウィザードでは、どちらのファイルも変換されません。コンパイル時に、Page1.aspx ファイルと Page1.aspx.cs ファイルの両方が、変換された Web アプリケーションの一部と見なされるため、ビルド エラーが発生します。

App_Data、App_GlobalResources など、Visual Studio 2005 の予約済みの名前を持つディレクトリがプロジェクトに含まれている場合、Visual Studio 2005 では、既存のディレクトリ名に "_old" を追加します (たとえば、App_Data_old など)。これにより発生する可能性がある壊れた参照を解決するには、新しいディレクトリを参照するか、コードを App_Data、App_GlobalResources などの予約済みディレクトリに移動するように、コードを手動で変更する必要があります。詳細については、「ASP.NET Web サイト内の共有コード フォルダ」を参照してください。

プロジェクト設定の変換

Visual Studio 2005 ではプロジェクト ファイルの設定は保持されないため、Visual Studio .NET プロジェクトの設定を Web.config ファイルに変換する必要があります。ただし、設定が Visual Studio .NET の場合と同じように Visual Studio 2005 で適用されない場合は変換されません。

詳細については、「Web プロジェクト設定の変換」を参照してください。

特定の構成の変換

ソース プロジェクトにカスタムのビルド構成が含まれている場合、変換プロセスで、どの構成を変換するかを選択するためのプロンプトが表示されます。選択した構成に応じて、Web サイトを新しい形式で構成するために変換中に使用されるプロジェクト設定が決まります。

ソース プロジェクトに既定のビルド構成 (リリースおよびデバッグ) だけが含まれている場合、変換プロセスでは、デバッグ構成の設定が使用されます。

データ コンポーネント

Web ページへのデータ アクセスを追加したモデルは、Visual Studio 2005 で変更されました。Visual Studio 2005 でもデータ アクセスに ADO.NET コンポーネントを使用できますが、Visual Studio 2005 のページでは、データ接続オブジェクト、データ コマンド オブジェクト、データセットやデータ リーダーをカプセル化するデータ ソース コントロールを使用してデータ アクセスを制御します。詳細については、「データ ソース コントロールの概要」および「データ バインド式の概要」を参照してください。

データ接続、データ コマンド、データセットの明示的なインスタンスを使用する Visual Studio .NET モデルは、Visual Studio 2005 でもサポートされています。Visual Studio 2005 でデータ アクセスを行うページやファイルを変換すると、既存のデータ オブジェクトはそのまま変換され、Visual Studio 2005 でも Visual Studio .NET と同じように動作します。ただし、デザイナはこれらのオブジェクトをサポートしていないため、これらのデータ コンポーネントを Visual Studio 2005 の Web ページ デザイナ (デザイン ビュー) で使用することはできません。これらのデータ コンポーネントは、ソース ビューで引き続き使用できます。

データセット

変換中に、Visual Studio 2005 では、型指定されたデータセットのスキーマ (.xsd ファイル) が変換され、App_Code ディレクトリに格納されます。Web サイトは .xsd ファイルを自動的に参照できるため、(Visual Studio によって生成された) データセット クラスを表す .vb または .cs ファイルは変換されません。

コード モジュール

スタンドアロン コード モジュール (.vb ファイルおよび .cs ファイル) は、そのまま App_Code ディレクトリに移動されます (これは、Web ページまたはその他の ASP.NET ファイルに関連付けられた .vb ファイルおよび .cs ファイルには適用されません)。Friend または Internal としてマークされたメンバ宣言は、Public に変更されます。

.vb ファイルの場合、変換プロセスにより、Web プロジェクトのルート ディレクトリを指す Namespace ステートメントが追加されます。また、変換プロセスでは、インポートされていないすべてのクラスが、ASP.NET によって compiler 要素の compilerOptions 属性に自動的に追加されます。

Web サービス

Web サービスは、基本的に Visual Studio .NET の場合と同じ形式に変換されます。Web サービスのクラス ファイル (.asmx.vb または .asmx.cs ファイル) は、App_Code ディレクトリに移動されます。Friend または Internal としてマークされたメンバは、Public に変更されます。.asmx ファイル内の @ Page ディレクティブの CodeBehind 属性は、コードの新しい場所を指すように更新されます。

Visual Basic Web サービスでは、Web プロジェクトのルート名前空間によって定義されたクラスに Namespace ステートメントが追加されます。変換プロセスでは、ASP.NET によって既定でインポートされていない Web サービスのすべてのインポートを定義するために、Imports ステートメントも Visual Basic ファイルに追加されます。

変換およびソース コード管理

ソース コード参加リストは変換されません。変換後、Web サイト内のファイルは、ソース管理下には置かれません。

参照

処理手順

方法 : Visual Studio .NET プロジェクトを Visual Studio 2005 に変換する

チュートリアル : Visual Studio .NET 2003 Web プロジェクトの Visual Studio Web アプリケーション プロジェクトへの変換

概念

Web ソリューションとプロジェクト ファイル変換

Web プロジェクト設定の変換

移行変換レポートの書式

Web アプリケーション プロジェクトの概要

Web アプリケーション プロジェクトの概要