Web.Config の appSettings を他ファイルに記述する

Web.Configには接続文字列など編集には要注意なものばかり、なので設定内容を他ファイルにできないか調べてみました。すると、以下のページに appSetting セクションには file 属性なるものがあるという事で試してみました。

【参考】appSettings 要素 (全般設定スキーマ)

  • Web.Config
<configuration>
  <appSettings file="example.config">
    <add key="webpages:Version" value="1.0.0.0"/>
    <add key="ClientValidationEnabled" value="true"/>
    <add key="UnobtrusiveJavaScriptEnabled" value="true"/>
  </appSettings>
 <!-- 中略 -->
</configuration>
  • example.config
<?xml version="1.0"?>
<appSettings>
  <add key="kaji" value="dao"/>
</appSettings>

file属性に設定を記述したファイルを指定すると、Web.ConfigのAppSettingとマージされます。

なお、取得時は通常のAppSettingと同じようにできます。

System.Configuration.ConfigurationSettings.AppSettings("kaji")