【问题标题】:MEF loading DLLs which has required DLLs in the GACMEF 加载 GAC 中需要 DLL 的 DLL
【发布时间】:2011-01-04 11:54:59
【问题描述】:

我设计了一个具有各种插件的应用程序,它使用 MEF 框架延迟加载应用程序目录中插件接口的任何实现 - 非常标准的东西。

但是,我已经开发了一个插件,它依赖于来自不同应用程序的一些 DLL(将它们安装到 GAC 中)——在安装了这些的计算机上,应用程序运行良好,但在不适合我的计算机上运行申请失败。

我已经对运行时搜索 DLL 的时间进行了一些研究,显然它会针对它遇到的每个方法进行搜索。然后我尝试修改插件以确定必要的 DLL 是否在 GAC 中,然后再继续输入需要它们的方法,但这导致了同样的失败。

然后我注释掉了类中的所有代码,除了一个裸构造函数和一些接口存根,看看这是否可行,但它会导致同样的错误。 .net 运行时是否尝试立即加载任何 GAC 程序集?

有没有人遇到过这种情况?我有哪些选择?

谢谢

马龙

【问题讨论】:

    标签: .net .net-3.5 plugins mef gac


    【解决方案1】:

    我已经回答了一个非常相似的问题here。 (链接的问题是关于 MEF 尝试处理混淆程序集时的问题,但我们使用相同的技术来忽略依赖于 GAC 中缺少的程序集的插件,就像在您的用例中一样。)

    【讨论】:

    • 谢谢你,它已经解决了 - 如果它无法加载它,它现在会忽略该插件
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-25
    • 1970-01-01
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多