SharpDevelop Addin(插件树)使用方法-让SharpDevelop的插件树运行在自己.doc

SharpDevelop Addin(插件树)使用方法-让SharpDevelop的插件树运行在自己.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
SharpDevelop Addin(插件树)使用方法-让SharpDevelop的插件树运行在自己

SharpDevelop?Addin(插件树)使用方法-让SharpDevelop的插件树运行在自己 (2011-01-17 12:09:40) 转载 标签: 分类: SharpDevelop Addin(插件树) 使用方法 在经历了N多次的迷茫和郁闷后,今天终于明白了Addin这个东东怎么使用。下面为大家总结一下我研究的过程,希望大家看过我的文档后,研究Addin这个的东西不再这么痛苦拉。而且可以更快的了解插件树是怎么运行的.好了,废话不多说了,下面言归正传。 Addin作为SharpDevelop的核心组件,它提供了一种插件树的机制来调用插件组成整个应用程序。我将把Addin的核心代码从SharpDevelop中分离出来,然后作为单独的工程。 全部的过程大概分这么两个部分: 一、 从SharpDevelop中分离出Addin的代码。 二、 新建一个工程作为调用插件树的主程序。 三、 新建一个插件以供程序调用。 第一部分 分离出插件树的核心代码 那么首先来讲讲怎么从SharpDevelop中导出Core工程到2003 1. 我们要导出代码首先就必须得到它的源码,源码可以在SharpDevelop的官方网站/OpenSource/SD/Download/ 中下载。 2. 在下载完程序之后你可以在src\Main\Core 目录下找到Core.prjx这个文件(此文件是SharpDevelop的工程文件),使用SharpDevelop打开此文件,这时候整个Core项目就加载到SharpDevelop(Core为整个SharpDevelop的核心工程,其中包括了插件树、服务和属性)。由于SharpDevelop目前调试还没有.net2003方便,所以我们把程序导出为.Net2003的格式可以通过SharpDevelop的 “文件-》输出工程——》选择你要输出的文件夹”来导出整个项目。 3. 在输出成功后用.Net2003加载刚才输出的解决方案然后编译,这样就可以在输出目录下的bin\debug目录下找到ICSharpCode.Core.dll这个文件了(此文件为整个插件树的核心组件,在后面的插件树应用中全部都是引用的该组件)。 4. 拷贝CoreKey.key这个文件到当前项目的目录下。 在经过上述三个步骤之后,整个Addin的代码就从SharpDevelop代码中分离出来了,是不是很简单啊 ^_^。 第二部分 建造一个新工程来利用插件树的机制加载插件 刚才第一部分我们讲解了如何分离出插件树的核心代码,此部分我将讲解怎么在应用程序中利用插件树的机制来加载插件。 1. 首先新建一个Windows应用程序AddinMain。 2. 在刚才新建的项目中删除Form1然后添加一个类AddinsMain。 3. 引用ICSharpCode.Core.dll组件(要得到此组件请看第一部分)。 4. 当上述三个步骤完成后就开始编码工作了,把下面的代码Copy到AddinsMain类中。 using System; using System.IO; using System.Diagnostics; using System.Reflection; using System.Drawing; using System.Collections; using System.Windows.Forms; using System.Resources; using System.Xml; using System.Threading; using System.Runtime.Remoting; using System.Security.Policy; //引用Core的命名空间 using ICSharpCode.Core.Properties; using ICSharpCode.Core.AddIns.Codons; using ICSharpCode.Core.AddIns; using ICSharpCode.Core.Services; namespace AddinMain { /// /// AddinsMain 的摘要说明。 /// public class AddinsMain { public AddinsMain() { // // TODO: 在此处添加构造函数逻辑 // } /// /// 整个程序的入口点 /// [STAThread()] public static void Main(string[] args) { //查找ADDIN的主目录 默认情况下目录为当前目录的../Addin/ bool ignoreDefaultPath = false; string [] addInDirs = AddI

文档评论(0)

asd522513656 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档