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

更新 : 2007 年 11 月

Web アプリケーション プロジェクトは、Web サイト プロジェクトに代わるプロジェクトの種類であり、Visual Studio 2008 の既定のプロジェクトです。

このトピックの内容は次のとおりです。

  • シナリオ

  • 背景

  • その他のリソース

シナリオ

Web アプリケーション プロジェクト モデルを使用すると、構造とビルド セマンティクスが Visual Studio .NET 2003 アプリケーションで導入されたプロジェクト モデルとよく似ている Web アプリケーションを作成できます。同時に、Web アプリケーション プロジェクト モデルでは、Visual Studio 2008 および ASP.NET 2.0 以上のすべての機能を使用できます。必要条件やユーザーにとって適切な開発ワークフローに応じて、Web アプリケーション プロジェクト モデルを使用します。

既定の Web サイト プロジェクト モデルでは、ディレクトリ構造を使用してプロジェクトのコンテンツを定義します。このモデルにはプロジェクト ファイルが存在せず、ディレクトリ内のすべてのファイルによりプロジェクトが構成されます。

一方、Web アプリケーション プロジェクトでは、ソリューションのプロジェクト ファイルで明示的に参照されているファイルのみでプロジェクトが構成されます。これらのファイルはソリューション エクスプローラに表示されます。ビルド時にコンパイルされるのは、これらのファイルのみです。

Web アプリケーション プロジェクトのプロジェクト ファイルにより、一部のシナリオをより簡単に実装できます。たとえば、異なるプロジェクト ファイルでファイルを参照することで、単一の ASP.NET アプリケーションを複数の Visual Studio プロジェクトに分割できます。また、プロジェクトからのファイルの除外も簡単です。

以下を行う場合、Web アプリケーション プロジェクトを使用します。

  • 大規模な Visual Studio .NET 2003 アプリケーションを Visual Studio 2008 に移行する。

  • 出力アセンブリの名前を制御する。

  • スタンドアロン クラスを使用して、ページ クラスおよびユーザー コントロール クラスを参照する。

  • 複数の Web プロジェクトを使用して Web アプリケーションを構築する。

  • コンパイル中のビルド前のアクションおよびビルド後のアクションを追加する。

ページのトップへ

背景

Web アプリケーション プロジェクト モデルは、Visual Studio .NET 2003 の Web プロジェクトと意味的に同じ Web プロジェクトを提供します。たとえば、構造がプロジェクト ファイルに基づいている点や、ビルド モデルが単一のアセンブリを生成する点が共通しています。Web アプリケーション プロジェクト モデルは、Visual Studio 2008 のすべての機能 (クラス ダイアグラム、テスト開発、ジェネリックなど) をサポートします。また、マスタ ページ、データ コントロール、メンバシップとログイン、ロール管理、Web パーツ、パーソナル化、サイト ナビゲーション、テーマなどの ASP.NET の機能をサポートします。

Web アプリケーション プロジェクト モデルでは、Visual Studio .NET 2003 で作成されたプロジェクトに必要な次の要素が削除されています。

  • FrontPage Server Extensions によるアクセス。この拡張機能は不要になりましたが、プロジェクトで既に使用されている場合はサポートされます。

  • IIS のローカル コピーの使用。Web アプリケーション プロジェクトは、IIS と組み込みの ASP.NET 開発サーバーの両方をサポートします。

Web アプリケーション プロジェクトの作成

Web アプリケーション プロジェクトを使用するには、Visual Studio 2008、Microsoft Visual Studio 2005 Service Pack 1 (SP1)、または Visual Web Developer Express Edition を使用する必要があります。Visual Studio 2005 SP1 では、Visual Studio 2005 が更新されており、Visual Studio 変換ウィザードとデザイナを使用して、Web アプリケーション プロジェクトを正しく処理できるようになっています。Visual Studio 2005 SP1 は、「Microsoft Visual Studio Related Service Packs and Fixes」の Web サイトからダウンロードできます。

ページのトップへ

コンパイルとビルド出力

Web アプリケーション プロジェクトのコンパイル モデルは、Visual Studio .NET 2003 のコンパイル モデルと似ています。プロジェクトに含まれるすべてのコード ファイル (スタンドアロン ファイル、分離コード ファイル、およびクラス ファイル) は、単一のアセンブリにコンパイルされ、Bin ディレクトリに格納されます。コンパイルにより単一のアセンブリが作成されるため、アセンブリ名、アセンブリのバージョンなどの属性を指定できます。また、出力されるアセンブリを Bin ディレクトリに格納したくない場合は、任意の場所を指定できます。詳細については、「Web アプリケーション プロジェクトのコンパイル」を参照してください。

ページのトップへ

配置

すべてのクラス ファイルが単一のアセンブリにコンパイルされるので、配置する必要があるのは、このアセンブリと、.aspx ファイルおよび .ascx ファイル、その他の静的コンテンツ ファイルだけです。このモデルでは、.aspx ファイルは、ブラウザで実行されない限りコンパイルされません。

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

Web 配置プロジェクトで使用する場合は、.aspx ファイルもコンパイルされ、配置対象として単一のアセンブリに追加されます。Web 配置プロジェクトの詳細については、MSDN Web サイトの「Visual Studio 2005 Web Deployment Projects」を参照してください。

このモデルで生成された単一のアセンブリを配置するときは、プロジェクトのすべてのページのコードが置き換えられます。詳細については、「方法 : Web アプリケーション プロジェクトを発行する」を参照してください。

ページのトップへ

Visual Studio .NET 2003 からのアップグレード

通常は、既存の Visual Studio .NET 2003 プロジェクトを Web サイト プロジェクト モデルとして使用するより、Visual Studio 2008 の Web アプリケーション プロジェクトにアップグレードすることをお勧めします。Visual Studio 2008 の Web アプリケーション プロジェクト モデルと Visual Studio .NET 2003 の Web サイト モデルはよく似ています。このため、アップグレードが簡単で、アプリケーションの再構築も最小限で済みます。詳細については、「チュートリアル : Visual Studio .NET 2003 Web プロジェクトの Visual Studio Web アプリケーション プロジェクトへの変換」を参照してください。

ページのトップへ

"方法" トピックと "チュートリアル" トピック

方法 : 新しい Web アプリケーション プロジェクトを作成する

方法 : Web アプリケーション プロジェクトのプロパティを設定する

方法 : Web アプリケーション プロジェクトを発行する

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

チュートリアル : Visual Studio の Web サイト プロジェクトから Web アプリケーション プロジェクトへの変換

ページのトップへ

その他のリソース

Introduction to Web Application Projects

ASP.NET Forums -- Visual Studio 2005 Web Application Projects

ページのトップへ

参照

処理手順

方法 : 新しい Web アプリケーション プロジェクトを作成する

方法 : Web アプリケーション プロジェクトのプロパティを設定する

方法 : Web アプリケーション プロジェクトを発行する

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

概念

Web アプリケーション プロジェクトのコンパイル

チュートリアル : Visual Studio の Web サイト プロジェクトから Web アプリケーション プロジェクトへの変換

参照

ページのトップへ

その他の技術情報

Introduction to Web Application Projects