千家信息网

如何进行.NET Framework 3.5中的WPF插件开发

发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,这篇文章将为大家详细讲解有关如何进行.NET Framework 3.5中的WPF插件开发,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。插件还有其他称
千家信息网最后更新 2025年11月07日如何进行.NET Framework 3.5中的WPF插件开发

这篇文章将为大家详细讲解有关如何进行.NET Framework 3.5中的WPF插件开发,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。

插件还有其他称呼,如add-on或plug-in。

先前研究过SharpDevelop,SharpDevelop采用框架--插件的可扩展的体系结构,毕竟代码水平比较高,对它的插件开发方式没有学习彻底。

.NET Framework 3.5 的System.Addin命名空间让插件开发变的简单很多了。

1.什么是AddIns

在应用程序运行期间允许动态添加程序集。

插件开发可以在给开发完成的应用程序添加功能。我们可以创建一个主机应用程序,随时间的推移给它添加越来越多的功能这些功能可以是开发团队编写的,也可以由其他供应商也可以创建插件,扩展该应用程序。

2.AddIns(MAF)的设计目标如下

应用程序容易开发插件

在运行期间高效查找插件

开发主机程序应是一个很简单的过程,但不像开发插件那么容易

插件和主机应用程序应独立进行维护和升级

3.MAF体系结构

MAF体系结构基于一个包含7个程序集的管道。这个管道解决了插件的版本问题。因为管道中的程序集之间的依赖性很低,所以合同、主机程序和插件升级到新版本可以完全互不干扰。

undefined

下图是上图的中文说明:

下图是插件开发结构类关系图

有了这个模型,插件端和主机端可以完全独立地升级了,只是需要使用映射层。例如,如果主机的一个新版本使用全新的方法和属性,合同就仍可以保持不变,只有适配器需要修改。也可以定义新的合同。适配器可以修改,也可以同时使用几个合同。

下图显示了MAF体系结构的外观为一个单一的插件。如果我们要创造更多的插件(如演示应用程序) ,我们就必须建立新的类来继承插件适配器来完成该功能。

4.插件模型文件夹结构

除了AddIns目录之外,其他目录都直接包含管道特定部分的程序集。AddIns目录为每个插件程序集包含一个子目录。插件也可以保存在完全独立于其他管道组件的目录中。

MAF需要使用反射来动态加载,才能获得插件的所有信息。而且,对于许多插件而言,这还会增加主机应用程序的启动时间。因此,MAF使用一个 高速缓存,来保存管道组件的信息。该高速缓存是由安装插件的程序创建的,如果主机应用程序有管道目录的写入权限,该高速缓存就由主机应用程序创建。

在目录结构中有一个PipelineSegments.store文件,它是一个外接程序,有两个任务:

将有关所有外接程序和管线段的信息注册到缓存文件中。

◆通过搜索缓存查找外接程序的指定宿主视图的外接程序

在AddIns文件夹里面会有一个Addins.store文件,它的作用就是让程序查找插件显示在应用程序中。

应用插件开发对应用系统来讲确实有很大好处,很多应用程序都使用了插件开发,例如:Visual Studio、Eclipse、还有浏览器IE、FF,虽然我们不是这些软件的开发商,但是我们仍然可以在这些软件里添加我们需要的功能,插件开发更容易维护和升级系统,而且对提高程序运行效率也有很大帮助。

网上关于Addins的示例代码比较少,自己找了两个,大家研究下。

关于如何进行.NET Framework 3.5中的WPF插件开发就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

插件 程序 开发 应用 应用程序 主机 管道 结构 目录 功能 文件 缓存 体系 体系结构 合同 升级 下图 信息 更多 适配器 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 人力资源管理数据库论文 陕西人口数据库 软件开发技术员工作职责 南京邮电大学的网络安全专业 手机版方块三国服务器怎么玩 网络安全防守作战指南 网络安全人员学习心得体会 网络安全排查范文 网络安全 攻防 入门 怎样提高服务器安全性 服务器芯片与手机芯片哪个难 数据库可视化插件 玩加电竞服务器 如何查看电脑数据库是否配置 电信网络安全有关论文 数据库所有部分 网络安全教育书画 黑客攻防与网络安全技术工作对口 杭州赛邦网络技术有限公司 大华监控服务器安装视频教程 河南省交通网络安全管理平台 揭阳无线软件开发厂家直销 网络安全 魔力象限 软件开发课程 英文翻译 长沙软件开发培训机构哪个好 未成年人网络安全问题有哪些 网络安全知识题库(一) 黑魂服务器维护可以单机吗 手机端软件开发培训班 vc把文件存入数据库
0