利用MEF实现插件加载。

定义了一套接口,分别实现插件主界面,插件,业务插件等。

整套加载完全使用MEF2.

所有插件分开,包括主界面也是插件实现。

用一个应用程序,只有Main和插件加载方法。我管它叫启动器。

插件直接由启动器来沟通,插件主管把需要的通过公共类库注入和获取(PluginManager实现)。

整个流程

程序中自带了2个主界面插件样例,是WPF的。当然插件可以随意开发的。

1.Ribbon的界面

2.360的界面,这个是透明的自定义界面,已经解决WinForm插件显示问题

这2个样例都支持WinForm插件显示。可以参考修改。

项目传上了GitHub.项目地址:https://github.com/jinyuttt/MEFLauncher.git

转载于:https://www.cnblogs.com/jinyu20180311/p/10806006.html

一个简化的插件框架c#相关推荐

  1. 一个简单的插件框架示例

    闲言不讲,直接上代码,如下三个文件,分属三个项目. using System; using System.Collections.Generic; using System.IO; using Sys ...

  2. 一个.NET Core下的开源插件框架Pluginfactory

    插件模式历史悠久,各种中大型软件基本上都会实现插件机制,以此支持功能扩展,从开发部署层面,插件机制也可实现功能解耦,对于并行开发.项目部署.功能定制等都有比较大的优势. 在.NET Core下,一般我 ...

  3. android插件框架机制的选择,Android插件开发初探——基础篇

    Android插件开发初探 对于Android的插件化其实已经讨论已久了,但是市面上还没有非常靠谱成熟的插件框架供我们使用.这里我们就尝试性的对比一下Java中,我们使用插件化该是一个怎么样的流程,且 ...

  4. Java 的插件框架 PF4J

    开源项目地址:https://github.com/decebals/pf4j PF4J 是一个 Java 的插件框架,为第三方提供应用扩展的渠道.使用 PF4J 你可以轻松将一个普通的 Java 应 ...

  5. android中的插件开发框架,设计并开发一个 Android 的插件化框架

    结合动态加载系列文章的分析,现在开始设计并开发一个 Android 的插件化框架,命名为 Frontia.Frontia 有 "前端" 的意思,寓意着 Android 插件能像前端 ...

  6. 10分钟带你了解轻量级插件框架x3py

    写在前面 由于本人目前主要从事的是Windows客户端开发方面的工作,所以本文介绍x3py的侧重点也是从客户端程序开发者方面叙述的.本文主要参考整理自x3py的官方Wiki,修正了一些官方示例中的错误 ...

  7. 在ASP.NET MVC应用中开发插件框架(中英对照)

    [原文] Developing a plugin framework in ASP.NET MVC with medium trust [译文] 在ASP.NET MVC应用中开发一个插件框架 I'v ...

  8. 如何搭建python框架_从零开始:写一个简单的Python框架

    原标题:从零开始:写一个简单的Python框架 Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. 你为什么想搭建一个Web框架?我想有下面几个原因: 有一个 ...

  9. 插件框架Extensible Framework for Delphi

    工作需要开发的一套插件框架,给应用程序提供灵活的插件支持,基于Dll / Interface实现. 先上个图 这是个标准的基于插件的应用,下拉框里的就是由5个插件Dll提供的功能.主程序中定义了一个接 ...

最新文章

  1. 移动应用开发的六大编程语言
  2. Altium Protel PCB Layer
  3. python培训比较好的机构-学Python去哪家培训机构比较好?
  4. 超级大汇总!200多个最好的机器学习、NLP和Python教程
  5. 分辨出谁在浏览Youtube、土豆
  6. 机器学习(三十三)——价值函数的近似表示
  7. 手撸移动端轮播图(内含源码)
  8. bzoj 4033: [HAOI2015]树上染色(树形DP)
  9. shell中引号的应用
  10. iWebOffice一些相关
  11. 扬州市 工程师职称计算机考试,扬州市建筑专业工程师专业技术资格条件
  12. Go语言自学系列 | go常用命令
  13. 基于微信校园二手书交易小程序系统 毕业设计毕设参考
  14. Excel生成指定范围内随机数
  15. 【Pre-Finals 2016, Kent Nikaido Contest A】Tetris Puzzle 题解
  16. [数学知识][几何]求三角形面积的几种方法
  17. 快速排序算法原理 Quicksort —— 图解(精讲) JAVA
  18. 工具类五合一小程序源码星座配对+星座运势+恶搞放屁音效+引流工具+流量主
  19. 【第90题】JAVA高级技术-网络编程9(简易聊天室4:获得Socket)
  20. 笔记dng图片在premiere和ae中不一致

热门文章

  1. this.$router.push用query传参对象时需注意的地方
  2. JavaScript-参数
  3. vue+axios 前端实现登录拦截(路由拦截、http拦截)
  4. PYTHON 笔记:函数的参数(关键字参数,默认参数,可变长参数,可变长的关键字参数)
  5. LeetCode 101对称二叉树
  6. oracle linux 图形化,Linux下Oracle 12C R2图形化安装过程
  7. c语言,成绩输出直方图,编写一个程序,打印输入中单词长度的直方图
  8. mysql BDB支持表锁吗_mysql 表锁问题
  9. 验证input输入框(字母,数字,符号,中文)
  10. 2022牛客寒假算法基础集训营4 签到题7题