私はちょうどうまくいくかなり古風なデザインを使用しています。
- /_Test__app.config
- /_Prod__app.config
- /app.config
次に、nantスクリプトに、現在のビルド環境と_ app.configをコピーして、app.configにコピーするタスクがあります。
それは厄介ですが、プロバイダーが「dev」または「prod」接続文字列を調べ、3つの名前付き接続文字列を持っていると言って、プロバイダーとConfigurationManagerの間に侵入してスプーフィングすることはできません。
ナントタスク:
<target name="copyconfigs" depends="clean">
<foreach item="File" property="filename" unless="${string::get-length(ConfigPrefix) == 0}">
<in>
<items>
<include name="**/${ConfigPrefix}App.config" />
<include name="**/${ConfigPrefix}connectionstrings.config" />
<include name="**/${ConfigPrefix}web.config" />
</items>
</in>
<do>
<copy overwrite="true" file="${filename}" tofile="${string::replace(filename, ConfigPrefix,'')}" />
</do>
</foreach></target>