MEF加载主机应用程序的依赖关系

时间:2016-09-08 09:05:50

标签: c# .net mef

我目前正在构建一个包含主机应用程序和一些插件(dll)的MEF应用程序。插件从文件夹动态加载,并能够导出视图和类。每个插件都应该使用庞大框架中的方法。框架本身从App.config读取一些重要数据(如日志配置)。因为它需要App.config文件,所以我在主应用程序中添加了对框架这些部分的引用并实现了配置。从现在开始,我将调用框架核心依赖项的那些部分。

当插件想要使用框架的其他部分时,需要实现核心依赖。因为我无法在每个插件中引用它,所以我得到System.TypeInitializationException异常。插件无法读取主机应用程序的核心依赖项。

是否可以将我的主机应用程序的引用传递给每个插件?

编辑:

Here是我需要在插件中包含的两个引用。 These是整个项目的核心依赖项。问题是那些插件引用依赖于核心依赖性。因此,插件本身包含核心依赖项,但不包含任何配置。错误如下:

Exception thrown: 'System.Configuration.ConfigurationErrorsException' in System.Configuration.dll

Exception thrown: 'System.TypeInitializationException' in xxx.xxx.Logging.dll

Exception thrown: 'System.TypeInitializationException' in xxx.xxx.xxx.xxx.DataAccess.dll

抛出异常,因为没有可读取的配置。 我需要插件来使用主机应用程序中引用的核心依赖项包括它自己的。我的问题是,MEF是否提供了一种机制,可以将依赖项导出到另一个dll,或以某种方式解决我的问题。

0 个答案:

没有答案
相关问题