在.NET中创建插件环境的最佳方式

本文关键字:最佳 方式 环境 插件 NET 创建 | 更新日期: 2023-09-27 17:58:37

我读过这篇文章《如何在.NET中加载插件?》?,我真的看不出微软的System.Addin名称空间有多辉煌。为什么我不能在bin目录中有一个插件文件夹,用户可以将实现我设计的接口的程序集放入其中?然后我可以使用反射来创建插件类的实例,并用我的接口引用它。

为什么系统。Addin方式显然要好得多?尤其是因为它看起来是工作量的三倍,而且设计不那么直观。

在.NET中创建插件环境的最佳方式

我建议查看托管可扩展性框架(它是在.NET4中添加到核心框架中的)。它允许您准确地执行所描述的操作,并且在可扩展性场景中使用起来非常简单和灵活。

"好得多"总是取决于您的观点和需求。如果你的方法符合你的需求,那就去做吧。但是插件可能会变得非常快,更加复杂。插件之间的依赖关系如何?安全不同的模式如何找到插件。。。?这些功能已经为您解决了。如果你不需要它们,那么图书馆可能会显得有些过头了。如果你需要它们,重新发明轮子是个坏主意

您应该使用MEF,这个问题来自2008

看看微软的托管扩展框架;代码是开源的,所以你可以用它作为基础来编写自己的代码,也可以直接使用MEF。