Visual Studio 2005 Web Deployment Projects

VisualStudio2005 のアドオン的なものとして VisualStudio2005 Web Deployment Projects がダウンロードできます。
これはWebアプリケーションの構築・配置のための機能追加がされます。VS2005自体に機能を追加するわけではなくWebサイトのデプロイ機能の追加のみです。

主な機能としては
  • ビルド プロセスの一部としての ASP.NET 2.0 プリコンパイル
  • Web プロジェクトからコンパイル済みのアセンブリを生成する際の柔軟なオプション。次の選択肢があります。
    • Web サイト全体に対して単一のアセンブリを生成する。
    • コンテンツ フォルダごとに 1 つのアセンブリを生成する。
    • すべての UI コンポーネントに対して単一のアセンブリを生成する。
    • Web サイト内のコンパイル済みファイルごとに 1 つのアセンブリを生成する。
  • アセンブリの署名オプション
  • カスタムのビルド前アクションおよびビルド後アクションの定義
  • ビルドからのフォルダの除外
  • Visual Studio のビルド構成に基づいた、Web.config ファイル (<connectionString> 要素など) の設定の変更
  • セットアップ プロジェクトでの .msi ファイルの作成のサポート
(ドキュメントから抜粋)

VisualStudio2005には当初からプリコンパイル機能があり、「Webサイトの発行」コマンドで指定フォルダにソースコードを除いた
動作環境のみを作成することができましたが、それにさらに詳細な設定を追加して発行できると思って良いと思います。

詳細な機能や使い方はドキュメントを見てください(日本語になっているので)。
開発環境でリリース用のWebプロジェクトを作りやすくしてくれそう!?


【1】 基本的な使い方

@上のリンクからセットアップファイルをダウンロードしてインストールします。

AインストールするとWebプロジェクトの右クリックメニューに『Web 配置プロジェクトの追加』メニューが追加されます。




Bメニューを選択するとプロジェクト追加のダイアログが表示されるので名前を任意に変更します。




C[OK]ボタンをクリックするとソリューションにプロジェクトが追加されます。



Dこのプロジェクトの右クリックメニューから『プロパティページ』を開くと下記のような設定画面が表示されます。









E基本的には各プロパティを設定して、配置プロジェクトの右クリックメニュー『ビルド/リビルド』することにより
  『Webサイトの発行』と 同じようにソースを除外された実行環境が作成されます。

【2】 web.config の自動置換

個人ごとの開発環境とテスト/運用環境は当然異なります。
テスト環境などに移すときweb.configを手動で直すこともあると思います(user.configを使っている人もいるでしょうが…)。

そんなとき、配置プロジェクトのプロパティで置換ファイルを作っておくと、実行環境ビルドと同時にweb.configを書き換えてくれる機能があります。


web.configと同じフォルダに テスト環境用のappSettings要素のみの別名ファイルを作成しておき、
下記のようにappSettings要素を置き換えるファイル名を設定しておきます。



これで配置プロジェクトをビルドすると、できあがった実行環境のweb.configのappSettings要素だけが
自動的に置換されています。セクション単位で設定できるようですがおそらくappSettings要素の置換がほとんどでしょう。

残念なのは、appSettingsの子要素全体が置換されるため、変動するadd要素だけを指定することはできません。

【3】 その他のオプション

3.カスタムのビルド前アクションおよびビルド後アクションの定義
4.ビルドからのフォルダの除外

の設定は配置プロジェクトファイル(.wdproj)を編集することで対応可能です。
プロジェクトファイルはXMLファイルで設定項目が多数用意されているので柔軟にカスタマイズできます。