c#获取程序集信息

[ At 6/16/2009 By wukong   1 comments ]

在.net平台,每个程序集都可以设置详细的自定义的程序集信息,比如版本、公司、说明、版权、商标等等。那么,如何在c#程序中,通过代码实现对另一个程序集信息的获取呢,方法是有得,还比较简单

在命名空间System.Reflection下面有个Assembly类,可以专门处理程序集相关的操作,获取程序集信息当然不在话下。首先要加载程序集文件、然后通过GetCustomAttribute成员函数获得程序集的自定义属性。下面代码以获取程序集版本、公司和描述信息为例:

 
  1. string ver,compant,desc;
  2.  //加载程序集文件
  3. Assembly assembly = Assembly.LoadFile("d:\\test.dll");
  4. //获取版本
  5. ver = assembly.GetName().Version.ToString(); 
  6. //获取公司
  7. compant = ((AssemblyCompanyAttribute)Attribute.GetCustomAttribute(assembly, typeof(AssemblyCompanyAttribute))).Company;
  8. //获取描述说明
  9. desc = ((AssemblyDescriptionAttribute)Attribute.GetCustomAttribute(assembly, typeof(AssemblyDescriptionAttribute))).Description;

如上,即可

LoadFile加载程序集到Assembly实例对象后,还可以进行其他操作,比如调用程序集内部的一些类和方法。不过这样有个问题,就是程序集被LoadFile方法加载后,是无法单独对程序集进行卸载的,这样程序集文件dll本身就被锁定,无法覆盖或删除操作。后面我会继续对动态加载和卸载方法进行一些描述。

« 给博客添加代码高亮插件搞定超强自制电脑桌 »
  • 相关文章:
  • 1.wukong
  • 晕,两天文章明明是昨晚和今天早上写的,日期确都是16号,郁闷,按照主机所在美国时间了。
  • 6/16/2009 6:20:01 PM 回复该留言

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

日历

最新评论及回复

最近发表

Powered By 空空如也 

Copyright 167-2009 www.7es.cn . Some Rights Reserved. Email:iamwgh@msn.com QQ:49556
Friends site:Null