DebugとReleaseでApp.configを切り替える

ビルドイベントでconfigファイルをリネームするなどいろいろ方法があるようですが、そういったバッチファイルでやるよりも、こちらで書かれている方法がシンプルかなと思った。

http://www.timvw.be/easily-switching-between-appconfig-files-with-msbuild/

<propertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug Customer1|AnyCPU' ">
 <debugSymbols>true</debugSymbols>
 <debugType>full</debugType>
 <optimize>false</optimize>
 <outputPath>bin\Debug\</outputPath>
 <defineConstants>DEBUG;TRACE</defineConstants>
 <errorReport>prompt</errorReport>
 <warningLevel>4</warningLevel>
 <appConfig>App.Customer1.Config</appConfig>
</propertyGroup>

propertyGroupのなかにappConfigという要素を入れ、そこでその条件下におけるconfigファイルを指定するだけです。簡単(まあ、プロジェクトファイルを直接編集しないといけないですが)。

追記

ビルドイベントでapp.configを差し替える方法だと、ClickOnce発行時のビルドで走ってくれないようなので、やはり上記の方法のほうがよさげ。