実際に ASP.NET でアプリケーションを開発していて、それを公開環境へデプロイする時には Web.config に書かれている接続文字列や設定などを、開発環境のものから変更する必要が出てくると思います。
最近の Visual Studio では Web.config の内容を XSLT で発行時に変換する機能があるので、Web.Release.config ファイルにリリース時に必要な変換を書くことが出来ます。
プロジェクトを作成すると、デフォルトで Web.Debug.config と Web.Release.config が作成されるので、昔に比べると非常に便利になりました。
しかし、実際には設定をステージング環境と本番環境で分ける必要があったりするので、デバッグかリリースという分け方ではトラブルの元です。そんな時には Visual Studio の構成マネージャを使ってステージング、本番環境向けの新しいソリューション構成を作成してしまいましょう。
「構成」ドロップダウンリストを選択すると「新規作成」という項目があるので、それを選択します。
「新しいプロジェクト構成」というダイアログが表示されるので、名前には「Staging」と入力し、設定のコピー元には「Release」を選択します。
これで「OK」ボタンをクリックすると「Staging」という名前のソリューション構成が作成されます。
新しく追加された Staging という構成は Release と同じ設定になっています。
しかし、このままだと Web.config は Staging 向けの変換が行えないので、ソリューションエクスプローラーから Web.config ファイルを右クリックして、「Config 変換を追加」を選択します。
新しく Web.Staging.config ファイルが生成され、発行時に Web.config の変換が使えるようになりました。
Web 発行を使う場合には、設定のダイアログで構成を選べるようになっているので、そこで作成した Staging という構成を選べば完成です。
本番環境用の Production 構成も同じように簡単に作れます。
意外と知られていないようですが、デプロイ先の環境が複数ある場合には非常に便利に使えます。
追記
Web発行先に応じてWeb.configに変更を適用する - kkamegawa's weblog
別に接続文字列とか Web.config だけを切り替えたい場合には、ソリューション構成を作らなくても発行先ごとに Web.config の変換を追加できるようですね。Scott Hanselman 氏のブログを読む限りでは Visual Studio 2012 での新機能っぽいです。
ほうほう。ビルドが絡まない場合にはこっちで十分っぽいですね。