Visual Studio 2012: Web.config 変換とプレビュー機能
Visual Studio 2010 以降では、Web アプリケーション プロジェクトで使用される Web.config ファイルの設定を、プロジェクト構成毎に変換ファイルを用意しておくことで自動で変更することができます。
◆ Web.config 変換の概要
Web アプリケーション プロジェクトのデフォルトでは Debug と Release の 2 つのプロジェクト構成が用意され、それぞれに Web.Debug.config と Web.Release.config の 2 つの変換ファイルが用意されます。
例えばここで、デバッグ時には Web.config で true に設定されている compilation 要素を、Release 時に削除 (false) にしたい場合の変換ルールは下記の記述になっています。
Web.config (debug=”true” を削除するには...)
...
<system.web>
<compilation debug="true" targetFramework="4.5"/>
...
Web.Release.config (変換ルールを定義)
...
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
...
この機能を使うことで、例えばデータベース接続文字列の変更などをプロジェクト構成毎に容易に変更することができます。
変換構文の詳細は下記の MSDN ライブラリ ドキュメントをご参照ください。
Web アプリケーション プロジェクト配置の Web.config 変換構文
◆ Web.config 変換のプレビュー機能
Visual Studio 2012 では Web.config 変換にプレビュー機能が追加され、 変換前と変換後の状態を容易に確認することが可能になりました。
例えば、Web.Release.config の変換結果を確認する場合は、ソリューション エクスプローラーの Web.Release.config ファイル上で右クリックして、[プレビューおよび変換] メニューをクリックします。
すると、Web.Release.config の変換ルールの適用前と変換後の Web.config が、差分が容易に確認できる状態で表示されます (WinDiff などのファイルの差分を確認するツールと似た表示です)。
目立たない機能ですが、実際に配置パッケージの作成や Web アプリケーションの発行を行わなくても、Visual Studio 2012 で容易に Web.config の変換結果を確認できるのは便利ですね。