MEF加载在GAC中需要DLL的DLL

Mar*_*lon 5 .net plugins gac mef .net-3.5

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

但是,我已经开发了一个插件,它依赖于来自不同应用程序的某些DLL(将它们安装到GAC中) - 在安装了这些应用程序的计算机上,应用程序运行正常,但是在我的整个应用程序不能满足的计算机上运行.

我已经做了一些关于运行时何时搜索DLL的研究,显然它是为它遇到的每个方法做的.然后我尝试修改插件以确定在继续输入需要它们的方法之前是否所需的DLL在GAC内部,但是这导致了相同的跌倒.

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

有没有人有这种情况的经验?我有什么选择?

谢谢

马龙

Wim*_*nen 6

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