使用插件支持构建应用程序

dlr*_*as2 16 .net c# plugins

我正在开始一个新项目,它将从程序附加组件中获益匪浅.最基本形式的程序从串行端口读取数据并将其解析为数据库记录.可以编写的附加组件的示例是自动存档附加组件,过滤器记录的附加组件等.我正在编写程序和附加组件,但是一些客户需要自定义解决方案,所以而不是分支和制作一个完全独立的程序,附加组件将是伟大的.最简单的附加组件可能是一个表单,其构造函数接受一个对象引用,以某种方式操作对象,然后关闭.

不幸的是,我完全不知道从哪里开始编码,几乎不知道在哪里搜索.我搜索的所有内容都会显示浏览器加载项.从我云集,我需要寻找到动态加载的DLL.除此之外,我很无能为力.有没有人有他们所知道的任何好资源或例子?

我很乐意提供更多详细信息,但是这个项目一开始就是如此,所以我没有大量的具体细节(特定类型也会使附加组件失败.)

dth*_*rpe 8

您应该认真考虑使用托管扩展性框架(MEF)来处理插件架构.它需要以不同的方式思考事物,但是值得思考.

  • +1.我来到这里皮条客,并发现它已经拉皮条.好皮条客,先生! (2认同)

Rya*_*yan 6

这是一个简单的例子来说明基本技术.

codeproject.com - 使用C#的插件架构

本文向您演示如何将...作为另一个应用程序的插件合并或将其用作独立应用程序.

在.NET 4中,您现在拥有Managed Extensibility Framework(MEF)来完成大部分管道工作.

在.NET 3.5中,您拥有System.AddIn,但许多人认为它过于复杂.

codeproject.com - 使用System.AddIn添加启用的应用程序

AddIns(有时称为插件)是单独编译的组件,应用程序可以在运行时(动态)定位,加载和使用它们.可以增强设计为使用AddIns的应用程序(通过开发更多AddIns),而无需修改或重新编译和测试原始应用程序