SharpDevelop的addin结构

像这样的以addin这根结点的xml文档就是一个addin
<AddIn name = "Typed Collection Wizard"
  author = "Mike Krueger"
  copyright = "GPL"
  url = "unknown"
  description = "Creates a typed collection"
  version = "1.0.0">
  <Runtime>
    <Import assembly="TypedCollectionWizard.dll"/>
  </Runtime>
  <Extension path = "/SharpDevelop/Templates/File/TypedCollection">
    <DialogPanel id = "CollectionGenerator"
      label = "Typed Collection"
      class = "TypedCollectionGenerator.TypedCollectionWizardPanel"/>
  </Extension>
</AddIn>

addin中的内容
addin中主要有两种节点
第一种是<Runtime>,它包含本addin正常运行所需要的dll,
第二种是<extension>,它包含一个path属性和一个child

包含在<extension>中的这一部分叫做codon
   <DialogPanel id = "CollectionGenerator"
      label = "Typed Collection"
      class = "TypedCollectionGenerator.TypedCollectionWizardPanel"/>

DialogPanel  中的节点并没有在addin树中定义,这需要我们来实现

addin的解析
把一个文档解释出来主要起作用的是AddIn类,以下这些私有变量,说明了一个addin文件中应包含的内容

string name = null;
string author = null;
string copyright = null;
string url = null;
string description = null;
string version = null;
string fileName = null;

Hashtable runtimeLibraries = new Hashtable();

ArrayList extensions = new ArrayList();
 

//主要的解析方法
public void Initialize(string fileName) { 

时间: 2024-09-17 04:18:36

SharpDevelop的addin结构的相关文章

sharpdevelop中如何加载addin文件

Sharpdevelop中的addin文件是一个xml文件,SD的作者在其中设置了一些特定的规则,来描述菜单,工具栏,视图的创建及dll的加载,作者创建了一个addin类(代码存在于addin.cs)来完成对addin文件的操作addin文件其中包含了,作者,版本,描述,版权等等各个方面的信息,    addin的一个例子 <AddIn name        = "SharpDevelop Core"       author      = "Mike Krueger

SharpDevelop学习笔记--什么是Addin

像这样根结点是Addin的一个XML文件就是Addin <AddIn name = "Typed Collection Wizard"  author = "Mike Krueger"  copyright = "GPL"  url = "unknown"  description = "Creates a typed collection"  version = "1.0.0"&

SharpDevelop代码分析 (一、序+基本概念)

概念 序 最近开始学习.Net,遇到了一个比较不错的开源的IDE SharpDevelop.这个开发工具是使用C#开发的,比较吸引我的一点就是它是采用了和Eclipse类似的插件技术来实现整个系统的.而这个插件系统是我最感兴趣的地方,因此开始了一段代码的研究.在本篇之后,我会陆续把我研究的心得写下来.由于是在网吧上网,有诸多不便,因此可能会拖比较长的时间. 一.基本概念 首先,我们先来对 SharpDevelop 有一个比较感性的认识.你可以从这里下载到它的可执行程序和代码包 http://ww

Visual Studio 2008 可扩展性开发(二):Macro和Add-In初探

  前言 在VS概览中,我们简单回顾了一下VS的历史.本文将通过两个简单的例子来说明Macro和Add-In的开发.通过Macro我们把VS中的一些重复操作录制下来,之后可以多次运行,节省时间并保持好的心情:通过Add-In,我们可以自己动手来为VS添加新的功能,扩展了VS就意味着扩展了我们自己. VS 2008扩展方式一览  在上篇VS概览中提到了扩展VS有三种主要的方式:Macro.Add-In和VsPackage.事实上,还有更多的选择,这里先简单列一下: Macro Add-In VsP

Visual Studio 2008 可扩展性开发(三):Add-In运行机制解析(上)

前言 上一篇随笔Macro和Add-In初探介绍了如何开发两者的HelloWorld程序.没错,宏确实简单易行.不过在某些情况下,比如在商业软件中,宏在性能和知识产权方面可能会带来麻烦,此时那把更好的锤子是Add-In. 在初探一文中,我介绍了如何使用Add-In向导来开发第一个Add-In.VS是一款很棒的开发工具,它的各种向导(以及其它模板.可视化工具等)做得非常好,不过我发现这一强大之处到头来反而给人诟病.其中一种说法是,这些方便的工具让初学者入门容易,并惯坏了他们,以致于想登堂入室就难得

Visual Studio 2008 可扩展性开发(三):Add-In运行机制解析(下)

前言 在上篇Add-In运行机制解析(上)中,我分析了Add-In向导生成的代码,从中我们知道只要创建一个类库,它包含实现了IDTExtensibility2接口的类,然后为其建立.addin配置文件,就可以实现一个Add-In了.本文将更进一步,介绍Add-In的事件和生命周期,为今后的开发打下基础. Add-In的事件 Add-In是事件驱动的,可以猜到的事件有加载.卸载.状态改变等等.事实上,这些事件都与IDTExtensibility2接口有关,也就是该接口的5个方法: 如果要了解这些方

VSTO学习笔记(八)向 Word 2010 中写入表结构

原文:VSTO学习笔记(八)向 Word 2010 中写入表结构 前几天公司在做CMMI 3级认证,需要提交一系列的Word文档,其中有一种文档要求添加公司几个系统的数据库中的表结构.我临时接到了这项任务,辅助相关人员完成这种文档. 示例代码下载 本系列所有示例代码均在 Visual Studio 2010 Ultimate RTM + Office 2010 Professional Plus RTM x64 中测试通过 注:本次使用的数据库为 SQL Server 2008 R2 DataC

091019 T AddIn

Add-In,也叫Plug-In,可以在程序编译完成后,嵌入到程序当中的一些模块.在.net环境下实现这个功能,命名空间为:System.AddIn.主要是分为七个部分:Host of application, Host views of Add-In,Host-side adapters,Contract,Add-In-side adapters, Add-In views,Add-In.其中Contract是两边都拥有的核心抽象部分.Add-In一边:Adapters实现Contract并调

应用SAAS结构技术的开源药店管理系统-如何自己部署这种SOA/SAAS结构的应用

一.药店系统内容说明 在前些时间,我们发布了一个基于AgileEAS.NET平台的SAAS结构的案例-AgileEAS.NET平台开发实例-药店系统-快速的SAAS开发体验,在文章中同时向大家提供了基于SAAS部署安全的演示客户端下载,也向大家提供了包含全部源代码下载. AgileEAS.NET平台是一套应用系统快速开发平台,用于帮助中小软件开发商快速构建自己的企业信息管理类开发团队,以达到节省开发成本.缩短开发时间,快速适应市场变化的目的,AgileEAS.NET应用开发平台包含基础类库.资源