首页 > 代码库 > .Net魔法堂:AssemblyInfo.cs文件详解
.Net魔法堂:AssemblyInfo.cs文件详解
一、前言
.net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件。但我们实际上通过另一个形式操作该文件。那就是通过在鼠标右键点击项目的属性进入“应用程序”->“程序集信息”,然后修改信息。
二、作用
通过特性(Attribute)来设置程序集(dll文件)的常规信息,供查看或作为配置信息供程序内部使用。
三、详解
// 程序集标题[assembly:AssemblyTitle("程序集标题")]// 程序集描述[assembly:AssemblyDescription("程序集描述")]// 产品名称[assembly:AssemblyProduct("产品名称")]// 公司[assembly:AssemblyCompany("公司名称")]// 合法商标[assembly:AssemblyTrademark("合法商标")]// 产品的内部名称[assembly:AssemblyCulture("产品的内部名称")]// 版权[assembly:AssemblyCopyright("Copyright 2014")]// 程序集的版本信息由下面四个值组成://// 主版本// 次版本 // 内部版本号// 修订号//// 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,// 方法是按如下所示使用“*”:[assembly:AssemblyVersion("1.0.0.0")]// 控制程序集中所有类型对COM的可访问性[assembly:ComVisible(false)]// 配置文件,如零售、发布、调试等信息。程序集在运行时不会使用该信息[assembly:AssemblyConfiguration("")]
对生成的dll文件右键点击属性,即可查看到上述信息。
assembly: 表示特性以程序集作为作用范围。
四、读取assembly特性
以读取 [assembly:AssemblyProduct("")] 为例子
Type t = typeof(Program);AssemblyProductAttribute productAttr = t.Assembly.GetCustomAttributes(typeof(AssemblyProductAttribute), true)[0] as AssemblyProductAttribute;Console.WriteLine(productAttr.Product);
五、注意点
1. [assembly:AssemblyProduct("")] 特性不限于在AssemblyInfo.cs文件中使用,而是可以在任何的.cs文件中使用。
2. 对于同一个特性,程序集中仅能设置一次,否则编译时将报错。
示例:
[assembly:AssemblyProduct("")]namespace{ public class Demo{ }}
六、总结
现在回头看《.Net魔法堂:log4net详解》当中的那句 [assembly:log4net.Config.XmlConfigurator(Watch=true)] 应该就清晰多了。其实就是配置log4net框架从哪里读配置文件而已,当然这句也可以写到AssemblyInfo.cs文件中统一管理咯!
尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/3992258.html ^_^肥仔John
七、参考
http://www.itwis.com/html/net/aspnet/20091211/7123.html
.Net魔法堂:AssemblyInfo.cs文件详解