gpt4 book ai didi

c# - 用于大量插件的 MEF

转载 作者:太空宇宙 更新时间:2023-11-03 14:39:06 25 4
gpt4 key购买 nike

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

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

尽管如此,当用户稍后决定只选择其中的几个时,我想避免在此过程中加载所有程序集。

因此,我尝试找到一种方法来获取加载项元数据,而无需在进程中加载​​程序集。我已经看到 Mono.Addins 框架似乎支持使用基于 XML 的 list 的这种情况 - 但我不确定 MEF 是否可以做类似的事情?

最佳答案

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

关于c# - 用于大量插件的 MEF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58381547/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com