Ongoing

Kozen's Blog

导航

关于程序集配置文件(App.config)的问题

Posted on 2004-10-14 16:08  Kozen  阅读(2941)  评论(3编辑  收藏  举报

    假如我有一个通用的功能性的程序集Utility.dll,它有些需要配置的信息放在App.config中,并由该组件自身通过.Net框架提供的ConfigurationSettings.GetConfig()方法读取配置信息,以实现运行时动态配置。


现遇问题如下:

    若使用Utility.dll的宿主程序是一个独立的exe程序,如HostA.exe,我就得把对Utility.dll的配置信息文件App.config具体命名为HostA.exe.config,否则Utility.dll中读取不到配置信息。

    若使用Utility.dll的宿主程序变成另一个独立的exe程序,如HostB.exe,我就得把对Utility.dll的配置信息文件App.config具体命名为HostB.exe.config,否则Utility.dll中读取不到配置信息。

    而当我在使用NUnit测试Utility.dll时,若测试程序集为TestUtility.dll,配置文件就得命名为TestUtility.dll.config,而非nunit-gui.exe.confignunit-gui.exeNUnit的主程序。)。
    一通测试过后,我只能初步断定框架读取哪个配置文件好像同当前的AppDomain有关(不知AppDomain有无主Assembly的概念)。但ConfigurationSettings.GetConfig()的执行机理究竟如何仍就不了。虽然其它的实现方案也能解决我的问题,但好奇心得不到满足可真是难受啊!

其它方案有:
1。Utility.dll始终读取指定名称的配置文件名,分析它。原始吧!J
2。
将配置信息写入machine.config。霸道吧!J