sharpdevelop中如何加载addin文件

本文介绍了SharpDevelop中addin文件的结构与用途。addin文件是一种XML格式文件,用于描述插件的基本信息,如作者、版本等,并指定所需加载的DLL。文章还提供了一个简单的addin文件读取类的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值