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


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

    假设:

    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也会被载入。

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

  • 相关阅读:
    waitkey();
    一、数组--删除排序数组中的重复项
    core组件进阶
    opencv数据结构与基本绘图
    highGUI图形用户界面
    合并两个有序链表
    字符串
    内存
    9位运算
    8设备文件
  • 原文地址:https://www.cnblogs.com/cappuccino/p/7489996.html
Copyright © 2020-2023  润新知