- PR -

DLLのapp.configについて

1
投稿者投稿内容
momo
常連さん
会議室デビュー日: 2006/11/06
投稿数: 35
投稿日時: 2007-04-27 17:41
VS2005,C#で開発しています。

◆構成

メインのプロジェクト(AAA.exe)
|
|__app.config
|
|__AAA.cs(windows フォーム)
|
サブプロジェクトB(BBB.DLL)
|
|__app.config
|
|__BBB.cs(windows フォーム)
|
サブプロジェクトC(CCC.DLL)
|
|__app.config
|
|__CCC.cs(windows フォーム)


◆ビルド後
フォルダ \AAA\bin\Debug(Release)内に
AAA.exe
AAA.exe.config
BBB.dll
CCC.dll
が作成される


メインのAAAはBBBとCCCを参照しています。
AAAからBBBとCCCをそれぞれ呼び出しています。
BBBとCCCにはそれぞれapp.configを用意しています。

コンパイルすると、AAAのbin\Debug(Release)に実行ファイル
(AAA.exe、BBB.dll、CCC.dll)が生成されますが、
BBBとCCCのconfigファイルの実体が生成されません。
(各プロジェクトフォルダ内のbin\Debug にはあるのですが・・・)
DLLの場合はdllファイル内にリソースとして
組み込まれてしまうのでしょうか?

dllのapp.configファイル(今回の場合ならBBB.dll.configとCCC.dll.config)
を、実行ファイルとは別に管理したりすることは不可能なのでしょうか?
この方法が設定値の管理として妥当なものかどうか等は別として、
可能かどうかを知りたいです。

また、もし可能であればその方法を教えていただきたいです。
いろいろ調査、実験したのですが見つけることができませんでした。
自力ではギブアップなので、皆さんにお聞きした次第です。

よろしくお願いします。
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2007-04-27 18:50
アプリケーションというのは、エントリーポイントを持つアセンブリ(つまりexe)の事を言います。
そして、 xxxx.config というファイルはアプリケーション構成ファイルと言います。
dllはアプリケーションではありませんので、アプリケーション構成ファイルは持ちません。
momo
常連さん
会議室デビュー日: 2006/11/06
投稿数: 35
投稿日時: 2007-04-27 19:16
ありがとうございます。勉強になります。

なるほど。

ビルド時に生成されるBBB.dll.configファイルは
一見そこでユーザが設定値を変えられるように見えて
実はまやかしなんですね。

BBB.dll.configには設定値がきちんと出力されているし、
BBB.cs内で
global::BBB.Properties.Settings.Default.settei1;
というコードで、Settings.settingsで追加した設定値を
取得できるしで、すっかりだまされていたようです。

1

スキルアップ/キャリアアップ(JOB@IT)