【发布时间】:2014-02-12 06:18:53
【问题描述】:
我创建了一个使用 MEF 加载扩展的 Outlook 插件。这些扩展都是作为 C# 类库创建的。当 Outlook 插件启动时,它会将所有插件 DLL 从网络目录复制到本地计算机,然后通过 MEF 加载它们。
对于其中之一,我使用的是 MySql.Data.dll 库。该 dll 被复制到我放置 MEF 加载的 DLL 的同一目录中,但那个目录不起作用。最终用户收到一个异常,说它找不到那个 MySql dll。
放置通过 MEF 导入包含的类库所需的额外 DLL 有什么技巧?
【问题讨论】:
-
您使用什么样的目录?尝试添加一些示例代码和其他错误信息。
-
我正在使用 AggregateCatalog(),并在文件夹中循环访问 DLL,将它们传递到 AssemblyCatalog()。错误只是“无法加载文件或程序集,'MySql.Data,版本.....'
-
尝试使用 fuslogvw.exe 诊断程序集加载错误。它可能是缺少 MySql.Data 的依赖项。