saptechnique

Better late than never.
posts - 114, comments - 197, trackbacks - 1, articles - 8
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

    我们知道,在WinForm或者是Console应用程序中,我们可以使用app.config文件,做为程序的配置信息的储存。然后我们使用System.Configuration类进行调用,读取或更新等。当我们编译这个程序时,比如我们的程序为TS.Tools.exe,那么IDE会自动把对应的App.config文件编译为TS.Tools.exe.config文件。然后我们在使用这个程序时,会自动调用这个配置文件。
    可是,我遇到了如下问题:当我在类库中使用App.config文件时,如此类库名为TS.Utilities.dll,IDE编译之后,也会自动将App.config文件编译为TS.Utilities.dll.config文件,但在其它程序或类库对其进行调用时,却因为找不到这个配置文件而出错,错误消息为:Object reference not set to an instance of an object.
    请高手帮忙看下,这是为什么呢?

Feedback

#1楼    回复  引用    

2008-04-21 00:31 by 路人某 [未注册用户]
你可以把你类库最后生成config里的内容复制到你调用类库的应用程序的config里嘛..当然节点要对应

#2楼 [楼主]   回复  引用  查看    

2008-04-21 08:07 by guofu      
1楼:
你好!
如你所说,我已经把生成的TS.Utilities.dll.config文件连同TS.Utilities.dll文件一起,COPY到了调用程序的目录。不过我的调用程序比较特殊,是一个Windows Service,其所对应的应用程序是TS.EService.exe。其引用的所有的dll文件包括日志文件的路径都在安装目录下,但仍出现上述错误,不知道为什么。

#3楼 [楼主]   回复  引用  查看    

2008-04-21 17:21 by guofu      
我查了一些资料,对于dll类库文件使用配置文件,没有什么好办法,一般都是说使用xml文档。而即使对于xml文档,也可能由于环境路径的问题,访问出错。现在我觉得简单一些的配置还是使用注册表算了。
如果需要大量的配置项目,干脆用数据库,效果还会高些。

不知道哪位朋友有高见?

#4楼    回复  引用  查看    

2008-04-22 17:29 by 意欲凌风翔 月照一孤舟      
Windows服务没做过,但如果是Web或WindowsApplication程序,同一楼所说,你可能理解错了,并不是要TS.Utilities.dll.config这个文件,而是调用这个dll的程序的配置文件
比方有个程序App1,使用你这个dll,那么把这个dll引用过来,此时为App1生成一个配置文件,App1.exe.config,它里面配置信息包含TS.Utilities.dll.config中配置信息,而TS.Utilities.dll.config就不需要了

#5楼    回复  引用  查看    

2008-11-28 10:21 by DylanWind      
@意欲凌风翔 月照一孤舟
老兄,你说的这个config文件的merge是怎么回事,我怎么不能成功?

我的App引用一个Dll, 这个dll project有个配置文件app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key ="AlgorithmConfigFile" value="CashAcceptType.xml"/>
</appSettings>
<connectionStrings/>
</configuration>
App project里也有一个app.config
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
按照你说的App会把这两个config文件合并
在App里
string configFile = System.Configuration.ConfigurationManager.AppSettings["AlgorithmConfigFile"].ToString();
还是得到Object reference not set to an instance of an object.的异常。

标题  
姓名  
主页
Email (博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
Google站内搜索
[推荐职位]上海盛大网络招聘架构师



China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
近千种 9-95 新二手计算图书火热销售中!
开发者征途系统新作:《设计模式——基于C#的工程化实现及扩展》

相关文章:

相关链接: