我正在将 Prism 与 MEF 扩展一起使用,并且在有关导入到接口的项目设置方面遇到了一些问题。问题是接口与具体实现不在同一个程序集中(因为其他项目中还有其他具体实现也使用相同的接口)。
所以因为我只有一个对带有接口的项目的引用,而具体的实现从来没有在我的主应用程序中直接引用,所以它永远不会包含在 bin 目录中。因此,在运行时 MEF 组合失败,因为它试图注入一个没有包含实现的程序集的类。
这样做的正确方法是什么?我总是可以将它复制到 bin 目录,但这很糟糕......或者我可以将它复制到插件目录,但这也很糟糕,因为其他具体实现必须存在于同一个插件目录中。
要么我完全错过了一些东西,要么这不是 MEF 的好用处,或者......?