【发布时间】:2011-01-04 11:54:59
【问题描述】:
我设计了一个具有各种插件的应用程序,它使用 MEF 框架延迟加载应用程序目录中插件接口的任何实现 - 非常标准的东西。
但是,我已经开发了一个插件,它依赖于来自不同应用程序的一些 DLL(将它们安装到 GAC 中)——在安装了这些的计算机上,应用程序运行良好,但在不适合我的计算机上运行申请失败。
我已经对运行时搜索 DLL 的时间进行了一些研究,显然它会针对它遇到的每个方法进行搜索。然后我尝试修改插件以确定必要的 DLL 是否在 GAC 中,然后再继续输入需要它们的方法,但这导致了同样的失败。
然后我注释掉了类中的所有代码,除了一个裸构造函数和一些接口存根,看看这是否可行,但它会导致同样的错误。 .net 运行时是否尝试立即加载任何 GAC 程序集?
有没有人遇到过这种情况?我有哪些选择?
谢谢
马龙
【问题讨论】:
标签: .net .net-3.5 plugins mef gac