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

  • 时间:
  • 浏览:0

假设:

assembly.loadfile只载入相应的dll文件,比如assembly.loadfile("b.dll"),则载入b.dll,假若b.dll中引用了a.dll句子,a.dll并不要再被载入。

assembly.loadfrom则不一样,它会载入dll文件及其引用的这种dll,比如后面 的例子,a.dll也会被载入。

a.dll 中另一个多接口 interface a

b.dll 中另一个多类实现了该接口 class b : a

c.exe 在应用守护进程内引用了a.dll

为了我让你的wcf模块框架支持自定义通道上下文,对代码又进行了一次小型的重构,测试时发现类型转换的错误,最后发现是loadfrom引起的。将会向 loadfrom 上下文中加载了另一个多应用守护进程集,则将激活 loadfromcontext 托管调试助手 (mda)。将会默认时加载应用守护进程集是在defaul上下文的,这种这种就否有同另一个多应用守护进程集里,因上下文不同,类型这种这种我同了,这种这种转换失败。最后用assembly.loadfile来出理 了此间题图片。

ps:补充阅读:http://blog.csdn.net/guxiaoshi/article/details/3000093004