アプリケーション構成ファイルのセクションには、configSource という属性があります。configSource を使えば、セクションの中身を別ファイルに移すことが可能です。
configSource には、読込先の構成ファイルのパスを指定します。指定できるのは、構成ファイルと同じディレクトリか、サブディレクトリにある構成ファイルです。
サンプルは次の通り。
ビフォー
app.config
xml version="1.0" encoding="utf-8"
<connectionStrings>
<add name="Default"
connectionString="Database=tempdb;Server=(local);Integrated Security=SSPI;"
providerName="System.Data.SqlClient" />
</connectionStrings>
アフター
app.config
xml version="1.0" encoding="utf-8"
<configuration>
<connectionStrings configSource="connection.config" />
</configuration>
connection.config
xml version="1.0" encoding="utf-8"
<connectionStrings>
<add name="Sample"
connectionString="Database=master;Server=(local)\;Integrated Security=SSPI"
providerName="System.Data.SqlClient" />
</connectionStrings>
なんということでしょう!
……このサンプルだと、イマイチありがたみが伝わりませんね。でも、これで構成ファイルの肥大化も怖くないw