gpt4 book ai didi

c#插件系统问题

转载 作者:行者123 更新时间:2023-11-30 17:20:44 24 4
gpt4 key购买 nike

所以我实现了一个非常简单的插件系统。

我有以下程序集:

MainApp
IPlugin
PluginApp

MainAppPluginApp 都包含对 IPlugin 的引用。现在,在 MainApp 中,我扫描一个插件文件夹并搜索实现 IPlugin 接口(interface)的东西。

但是,它不起作用,因为 MainAppPluginApp 都引用了它们自己的 IPlugin.dll 副本,因此它们不被识别为使用 Type.IsAssignableFrom() 时匹配!

帮助?

最佳答案

您可以尝试将定义插件的代码放入附属 dll 程序集中。这样您的主要代码和插件都引用相同的类型。


如果插件可以维护它自己的 dll 而不是使用与应用程序相同的 dll,您将遇到版本控制问题。您的主应用程序将如何处理调用未实现相同接口(interface)的插件?

当我们在自己的软件中执行此操作时,我们不得不求助于反射方法调用,而不是强制转换为接口(interface)。这并不优雅。


如何将程序集 dll 添加到插件目录中。他们必须在创建应用程序时引用 dll,但在实际运行插件时强制他们使用 dll 的主要程序集版本?

关于c#插件系统问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4036720/

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