トップ 履歴 一覧 カテゴリ ソース 検索 ヘルプ RSS ログイン

DotNet/ExternalConfiguration

INDEX

外部構成ファイル

構成ファイル(app.config 等)のうち、単一のセクションを物理的に別のファイルに格納する。

外部構成ファイルは、メインの構成ファイルによって参照され、アプリケーション内で参照できる。

外部構成ファイル参照

.Net Fw 2.0 以降で、メインの構成ファイルの対象セクションで、configSource 属性で参照(上書き)する外部ファイルを指定する。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <connectionStrings configSource="ExternalConnectionStrings.config" />
</configuration>

参照される外部ファイルは、以下のように対象セクションの内容を記載する。

<?xml version="1.0" encoding="utf-8" ?>
<connectionStrings>
  <remove name="LocalSqlServer" />
  <add name="LocalSqlServer" providerName="System.Data.SqlClient" connectionString="Server=サーバ名;〜" />
</connectionStrings>

メインの構成ファイル側で、対象セクションの内容を記載するとエラーになる。

また、外部ファイルを暗号化しておくことも可能。ただし、コマンドが web.config を対象にしているため、暗号化/復号化をする際は加工して行う必要がある(ファイル名を web.config にする。ルート要素を configuration にする)。暗号化の手順等は DotNet/EncryptConfiguration を参照

カスタム アプリケーション構成設定の外部構成ファイル

メインの構成ファイルの appSettings セクションで、file 属性で参照(マージ)する外部ファイルへの相対パスを指定する。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings file="AdditionalAppSettings.config">
    <add key="設定1" value="設定値1" />
    <add key="設定2" value="設定値2" />
    <add key="設定3" value="設定値3" />
    <add key="設定4" value="設定値4" />
    <remove key="設定4"/>
  </appSettings>
</configuration>

参照される外部ファイルは、以下のようにマージする appSettings セクションの内容を記載する。

<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
  <add key="設定3" value="設定値3a" />
  <add key="設定4" value="設定値4a" />
  <add key="設定5" value="設定値5a" />
  <add key="設定6" value="設定値6a" />
  <remove key="設定2"/>
</appSettings>

外部ファイルの内容が追加される(appSettings の場合、後勝ちとなるため、同一キーは、外部ファイルの内容が有効になる)。外部ファイルでも、add のほか remove, clear 要素も指定できる。

外部ファイルの指定は、メインの構成ファイルからの相対パスとなる。また、指定されたファイルが見つからない場合は、無視される。

最終更新時間:2026年03月08日 19時07分18秒 指摘や意見などあればSandBoxのBBSへ。