App.configやWeb.configを分割する
はじめに
本エントリでは、.NETアプリのconfigファイル
- ASP.NETの場合:Web.config
- デスクトップアプリの場合:App.config(実際のファイル名は
.config)
を分割する方法を示す。
方法
configSource属性を利用する。
configSource属性の特徴
以下に、configSource属性の特徴を挙げる。なお、以降の説明では、configSource属性で指定したファイルを「サブファイル」と呼ぶ。
- configファイルの全セクションに適用できる
- configSource属性を指定したセクションでは、サブファイルの内容をセクションの内容として解釈する
- サブファイルを編集して保存した場合も、アプリケーションドメインが再起動される
- サブファイル編集時に、アプリケーションドメインが再起動されないようにすることもできる(その方法については、ASP.NET 構成ファイルの編集を参照)
- サブファイルを配置できるのは、configファイルが配置されているディレクトリ、もしくはそのサブディレクトリのみ
サンプル
以下のように記述する。
Web.config
<configuration> <system.web> <httpModules configSource="httpModules.config" /> </system.web> </configuration>
httpModules.config
<?xml version="1.0"?> <httpModules> <add name="ScriptModule" type="System.Web.Handlers.ScriptModule, System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35"/> </httpModules>