Assembly.LoadFrom加载程序集类型转换失败解决方法

为了让个人wcf模块框架支持自定义通道上下文,对代码又进行了一次小型的重构,测试时发现类型转换的错误,最后发现是loadfrom引发的。若是向 loadfrom 上下文中加载了一个程序集,则将激活 loadfromcontext 托管调试助手 (mda)。由于默认时加载程序集是在defaul上下文的,因此就算是同一个程序集里,因上下文不一样,类型也不一样了,因此转换失败。最后用assembly.loadfile来解决了此问题。框架

 

假设:jsp

a.dll 中有一个接口 interface a
b.dll 中有一个类实现了该接口 class b : a
c.exe 在程序内引用了a.dll测试

assembly.loadfile只载入相应的dll文件,好比assembly.loadfile("b.dll"),则载入b.dll,假如b.dll中引用了a.dll的话,a.dll并不会被载入。
assembly.loadfrom则不同,它会载入dll文件及其引用的其余dll,好比上面的例子,a.dll也会被载入。.net

ps:补充阅读:http://blog.csdn.net/guxiaoshi/article/details/5009604调试

相关文章
相关标签/搜索