
第一次看 VM 的插件体系,最容易冒出来的问题通常不是“某个算法插件怎么写”,而是更基础、也更关键的那个:
- 主程序到底怎么知道
02Plugins里有这么多插件? - 为什么有的 DLL 一启动就能出现在工具箱里,有的却像没被看见?
- 插件名、分类、图标这些信息,到底是写死在主程序里,还是从插件自己身上读出来的?
如果这几个问题没看清,后面再看工具箱、流程树、模块执行,就很容易把“插件开发”误解成“多写几个 ViewModel”。
先给结论:
VM 的插件不是靠手工配置表登记的,而是在启动阶段扫描运行目录下的
Plugins\,只接受Plugin.*.dll,再通过反射识别模块类型、读取类特性,最终登记成PluginsInfo并放进插件字典。
换句话说,插件能不能被主程序“认出来”,走的是一条非常明确的启动期链路,而不是某个神秘开关。
先记住这条主线
把这一篇压缩成一句话,就是:
StartupView -> PluginService.InitPlugin(
订阅专栏 解锁全文
1万+

被折叠的 条评论
为什么被折叠?



