首页新闻找找看学习计划

不显示删除回复显示所有回复显示星级回复显示得分回复 通过反射调用dll中的类 实例化这个类时如何读到调用

0
悬赏园豆:20 [已解决问题] 解决于 2012-09-17 14:05

类库中编译成dll的类中有下面的字段
private string constr = ConfigurationManager.ConnectionStrings["constr"].ConnectionString;

通过反射的方法调用这个dll,在用Activator.CreateInstance(type)生成实例中发生异常,原因在于type中的constr读不到调用它的程序的配置文件中的ConnectionString,因此不能初始化该字段.

如何能让dll中的类,在Activator.CreateInstance时,能读到调用它的程序的App.config中的ConnectionString???

请高手指点一二?

son409的主页 son409 | 初学一级 | 园豆:190
提问于:2012-09-17 10:11
< >
分享
最佳答案
0

反射调用的dll和App.config在同一个目录下吗?

收获园豆:20
Launcher | 高人七级 |园豆:45040 | 2012-09-17 10:34

反射调用的dll与App.config不在同一目录,dll文件在与App.config同级dll文件夹中

son409 | 园豆:190 (初学一级) | 2012-09-17 10:48

@son409:

1,放在同一个目录;

2,反射之前,先把App.config拷贝到需要反射的 dll 的目录下;

3,改变获取连接字符串的方式,在调用的时候将连接字符串通过方法参数传递给被反射的类;

Launcher | 园豆:45040 (高人七级) | 2012-09-17 10:50

@Launcher: 

我的目的是,只需要修改App.config,让程序自动调用dll文件,连接数据库。

回头试试,把App.config 拷贝到dll文件夹中。如果OK了,就结贴给分。

非常感谢!!!!

son409 | 园豆:190 (初学一级) | 2012-09-17 11:03
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册