MEF获得大量插件

问题描述 投票:1回答:1

我目前正在基于C#的应用程序上工作,该应用程序加载了许多不同的模块(用于硬件组件的.net驱动程序等)。该应用程序应提供某种插件/加载项管理器以选择专用模块(仅专用的一组设备,过滤器,组件)。基于一个事实,即MS提供了一个完善的框架MEF,我认为尝试一下是个好主意。

我当前面临的主要问题是,在通过DirectoryCatalog扫描文件夹中的加载项之后,所有程序集都已加载到进程中(当前未实例化任何内容,因为我使用了“惰性”机制)。

但是,当用户稍后决定只选择其中的一部分时,我想避免在过程中加载所有程序集。

因此,我试图找到一种方法来获取加载项元数据,而又不将程序集加载到流程中。我已经看到Mono.Addins框架似乎支持基于XML的清单的这种情况-但我不确定是否可以使用MEF进行类似的操作?

c# mono add-in mef
1个回答
0
投票

我正是为此目的写了LazyAssemblyCatalog。它允许您懒惰地加载插件程序集,同时仍然可以访问它们的元数据。

© www.soinside.com 2019 - 2024. All rights reserved.