MEF有额外的DLL

时间:2014-02-11 18:38:10

标签: c# .net plugins mef

我创建了一个使用MEF加载扩展的Outlook插件。扩展都是作为C#类库创建的。当Outlook插件启动时,它会将所有插件DLL从网络目录复制到本地计算机,然后通过MEF加载它们。

对于其中一个,我正在使用MySql.Data.dll库。该DLL被复制到我放置MEF加载的DLL的同一目录,但是那个不能正常工作。最终用户得到一个异常,说它无法找到MySql dll。

通过MEF导入包含类库所需的额外DLL的技巧是什么?

1 个答案:

答案 0 :(得分:0)

我没有在项目中使用过MEF,但我不得不在几个场合推出自己的插件架构。您可以尝试的东西是挂钩AppDomain.AssemblyResolve事件。我不知道该页面上的示例有多么有用,但您可以检查事件args中的程序集名称,并尝试从加载插件的同一文件夹中加载该程序集。