外部構成ファイル
構成ファイル(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 を参照
- 接続文字列と構成ファイル - ADO.NET | Microsoft Learn
カスタム アプリケーション構成設定の外部構成ファイル
メインの構成ファイルの 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 要素も指定できる。
外部ファイルの指定は、メインの構成ファイルからの相対パスとなる。また、指定されたファイルが見つからない場合は、無視される。
- <appSettings> 要素 <configuration> - .NET Framework | Microsoft Learn
- appSettings 要素 (全般設定スキーマ) | Microsoft Docs
最終更新時間:2026年03月08日 19時07分18秒 指摘や意見などあればSandBoxのBBSへ。