2008.10.02

複数のexeで、単一のコンフィグファイルを共有する

WindowsForm、もしくはコンソールアプリの設定ファイルは、
app.configに設定を記述することになります。

簡単な構成ですと、1つの実行ファイル(exe)で、
app.configも1つとなり、何も問題ないのですが、
複数の実行ファイルで、共通のコンフィグファイルを
読み込みたい場合があります。

その場合、app.configに記述するのではなく、
共通の外部ファイルを作成し、
"configSource"属性で指定すると良いでしょう。


<!-- 接続文字列はCommon_connectionStrings.configで管理します-->
<connectionStrings configSource="Common_connectionStrings.config" />
<!-- 設定情報はCommon_appSettings.configで管理します-->
<appSettings configSource="Common_appSettings.config" />

こうすることによって、外部ファイルを共通の設定ファイルとして扱えます。
データベースの接続文字列を変えたい場合は、一つのファイル変更で済むことになります。

なお、注意点ですが、
複数の実行ファイル(exe)に分割する場合は、
それぞれのビルド出力パスを同じにすると良いです。
(プロジェクトのプロパティで設定)
その上で、同一フォルダにコンフィグファイルを配置しておくと、
管理しやすいです。
そうしておけば、コンフィグ内容に相対パスを指定しても問題ないことになります。
ただし、セットアップファイルを作成する際は、
パスが狂わないように、「プライマリ出力」のパスに気を付けてください。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

photo
takefuji