sharpdevelop中如何加载addin文件

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

 

 addin的一个例子
 <AddIn name        = "SharpDevelop Core"
       author      = "Mike Krueger"      
       description = "NCvs core module"
       version     = "1.0.0">

    <Runtime>
        <Import assembly="SharpDevelop.Base.dll"/>
        <Import assembly="CSharpParser.dll"/>
    </Runtime>  
</AddIn>

 

//简化的对addin文件的操作类
using System;
using System.Collections.Generic;
using System.Text;
using System.Xml;
using System.IO;
using System.Windows.Forms;
using System.Diagnostics;

namespace CSLearn
{
    /// <summary>
    /// 读取xml文本的一个类
    /// </summary>
    public class cxyxmlreader
    { 
        public cxyxmlreader(string tpxmfile)
        {
            Debug.Assert(string.IsNullOrEmpty(xmlfile), "xml文件不能为空");
            this.xmlfile = tpxmfile;
            Initlization();
        }

        /// <summary>
        /// 加载xml文件 初始化变量,
        /// </summary>
        private void Initlization()
        {

            System.Diagnostics.Debug.Assert(File.Exists(xmlfile), "配置文件不存在");
            XmlDocument doc = new XmlDocument();
            doc.Load(xmlfile);

            try
            {
                //selectsinglenode中的参数注意大小写
                version = doc.SelectSingleNode("AddIn/@version").Value;
                author = doc.SelectSingleNode("AddIn/@author").Value;
                description = doc.SelectSingleNode("AddIn/@description").Value;
                version = doc.SelectSingleNode("AddIn/@version").Value;

            }
            catch (Exception ex)
            {
                //todo:处理异常
                throw ex;
            }
             
        }

        string xmlfile,author,description,version;
        /// <summary>
        /// 配置文件名
        /// </summary>
        public String XmlFileName  {  set { xmlfile = value; }  }
        /// <summary>
        /// 作者
        /// </summary>
        public string Author { get { return author; }  }
        /// <summary>
        /// addin描述
        /// </summary>
        public string Description { get { return description; } }
        /// <summary>
        /// 版本信息
        /// </summary>
        public string Version { get { return version; } }
       
           
       
    }

    
}
//类的使用方法
 cxyxmlreader reader = new cxyxmlreader("xmlfile1.xml");
MessageBox.Show(reader.Version);

 

时间: 2024-09-17 04:25:47

sharpdevelop中如何加载addin文件的相关文章

listview中能加载超链接文件lnk对应的图标么?

问题描述 listview中能加载超链接文件lnk对应的图标么? listview中能加载超链接文件lnk对应的图标么?怎么让listview加载可执行文件显示的图标? 解决方案 先解析快捷方式,然后读取其中的图标.http://blog.csdn.net/lyserver/article/details/4467713 解决方案二: 封装在一个list里面

javascript中动态加载js文件多种解决办法

一个比较全部在动态加方法  代码如下 复制代码 /*     动态加载js v1.0 by:dum 2012-03-17 www.111cn.net     用法:src="webJsBase.js?load=a,b"     注:加载本目录下js */ var webJsBase = {     require: function(libraryName) {         document.write('<script type="text/javascript&

Resx 文件无效,未能加载 .RESX 文件中使用的类型

错误信息提示: 错误 339 Resx 文件无效.未能加载 .RESX 文件中使用的类型 Forms.ListItems, Forms, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.请确保已在项目中添加了必需的引用. 第 136 行,位置 5. E:\Forms\Form2.resx 136 5 Forms <?xml version="1.0" encoding="utf-8"?> <

从文件中加载资源-怎么从文件中加载.res文件 获取到文件的HMODULE

问题描述 怎么从文件中加载.res文件 获取到文件的HMODULE 怎么从程序的外部记载一个.res文件 获取到这个文件的HMODULE 从而利FindResource 去查找资源 并调用资源, 这个函数的功能应该跟 LoadImage/loadCursorFromFile相似 解决方案 先用loadlibrary加载,然后getmodelhandle,然后loadxxx

javascript-Qt加载dll文件后在JavaScript中无法使用

问题描述 Qt加载dll文件后在JavaScript中无法使用 实现目的:在Qt加载dll文件,dl文件实现提示框功能,dll文件的类为Operator,加载后作用js的一个属性被js使用. 问题:在js中就不能成功调用,并提示: Uncaught exception at :/test.js:6: TypeError: Result of expression 'Operator.prompt' [undefined] is not a function. 尝试在main.cpp中调用这个类的

C#中listview加载的图片,批量删除时出现异常“文件被另一个程序使用”,具体代码如下

问题描述 C#中listview加载的图片,批量删除时出现异常"文件被另一个程序使用",具体代码如下 自动加载图片: private void FrmPicListView_Load(object sender EventArgs e) { listView1.View = View.LargeIcon; listView1.MultiSelect = true; string[] files = GetImages(); if (files != null) { ImageList

antlr g文件-java中如何加载后缀为g的语法文件?

问题描述 java中如何加载后缀为g的语法文件? 我是在netbeans7.4下开发的,java版本为jdk1.7.0_51.在类文件中引用了两个类,分别是 JSHOP2Lexer和JSHOP2Parser,而这两个类是在一个JSHOP.g的文件中定义的,这个文件已经导入,但是属性显示不能识别,在我的类文件中也显示这两个类"找不到符号". 请问在netbeans中如何导入.g文件中定义的类呢? JSHOP.g文件是用基于antlr.jar写的语法文件,是JSHOP2项目的(http:/

swf-SWF文件在IIS中无法加载

问题描述 SWF文件在IIS中无法加载 最近做一个抽奖的功能,用到SWF文件,本地运行没问题 , 发布到IIS运行程序就会卡死,也就是这个SWF文件崩溃了,用的是IIS7. 文件权限,IIS的MIME都试过了,没用. HTML代码 : 这是直接拖进Dreamweaver生成的代码,应该不存在问题. 求高手 , 求大神....

arcgis-C#中使用LoadMxFile加载mxd文件很慢

问题描述 C#中使用LoadMxFile加载mxd文件很慢 使用LoadMxFile加载一个3M左右的mxd文件,花费了大概12秒的时间,请问这个效率正常吗?有可能是什么原因导致这么慢呢? 解决方案 参考:http://blog.csdn.net/u013210343/article/details/19072313