关于动态加载DLL

xfekin 2004-08-02 12:34:14
我参考的是PetShop的
string path = System.Configuration.ConfigurationSettings.AppSettings["WebDAL"];
string className = path + ".Account";

// Using the evidence given in the config file load the appropriate assembly and class
return (Test.IDAL.IAccount) Assembly.Load(path).CreateInstance(className);

返回的结果始终是null,请问是否需要设置web.config?我看PetShop的Web.Config设置的有以下内容:
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<qualifyAssembly partialName="PetShop.SQLServerDAL" fullName="PetShop.SQLServerDAL,version=3.2.1.0,publicKeyToken=a7987b61c51ca872,culture=neutral" />
</assemblyBinding>
</runtime>
如果需要设的话,publicKeyToken这个值从何而来呢?
...全文
234 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
winxieddd 2004-08-02
  • 打赏
  • 举报
回复
up
八爪鱼-杭州 2004-08-02
  • 打赏
  • 举报
回复
sn.exe对程序集签名时生成的*.Keys中公有密钥的标记
http://community.csdn.net/Expert/topic/3190/3190101.xml?temp=.8679926
xfekin 2004-08-02
  • 打赏
  • 举报
回复
哈哈,搞定咯,楼上的哥哥们,亲一个来 /kiss

原来是命名空间的问题,我一时大意,把程序集和命名空间设的不一样,结果就出问题咯.
xfekin 2004-08-02
  • 打赏
  • 举报
回复
我只是拿PETSHOP的代码来做例子,我自己的程序有强名
qqchen79 2004-08-02
  • 打赏
  • 举报
回复
加设定义Account类的dll文件名是YourDll.dll,而且你也没有用sn.exe生成他的StrongName,用下面的定义:
string className = path + ".Account, YourDll";
xfekin 2004-08-02
  • 打赏
  • 举报
回复
来人帮帮忙啊,急啊
xfekin 2004-08-02
  • 打赏
  • 举报
回复
不是没有,是我没贴上来而已
<add key="WebDAL" value="PetShop.SQLServerDAL" />
心雨楼 2004-08-02
  • 打赏
  • 举报
回复
根本就没有!WebDAL 的值!最后当然是null了

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧