我有一个 WPF Prism 应用程序,其主项目包含外壳和基本引导,然后我有两个用于不同功能的模块。我还有一个单独的数据访问项目,它将 IDataRepository 和 DataContext 对象导出到 MEF 容器。我已将数据项目添加到主引导程序的程序集目录中,我可以看到它发现了这两种数据类型。
我的问题是,当在模块 A 中,视图模型尝试通过构造函数注入加载 IDataRepository 对象时,它会引发错误。如果我在我的主项目中尝试构造函数注入它工作正常,所以只有在模块 A 中我才能加载这个共享依赖项。
如果我在模块 A 中导出接口类型,它会识别这些。所以似乎在一个模块内,我只能解析在模块内导出的依赖项,它不会从模块外部获取任何接口类型。有什么基本的我做错了吗?