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://blog.csdn.net/qq395537505点击打开链接
七、参考
http://www.itwis.com/html/net/aspnet/20091211/7123.html
如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!
最新文章
- Oracle第三方ado.net数据提供程序
- java文件cmd运行出现中文乱码
- [转]关于jquery中html()、text()、val()的区别
- Prim POJ 2031 Building a Space Station
- Andorid 编程 系统环境安装
- Vi/Vim查找替换使用方法
- SVN不能提交时的处理
- ImageOptim 图片压缩工具
- PHPstrom 增加emmet插件
- CI框架深入篇(2)一些基础的我之不知道的标准格式
- .NET简单企业应用
- 爬虫代码实现五:解析所有分页url并优化解析实现类
- MVC验证生成的代码
- Trick 小记
- 重温CSS3
- .net MVC +EF+VUE做回合制游戏(一)
- 浏览器User-Agent大全
- Error, some other host already uses address 192.168.0.202错误解决方法
- 未能正确加载包“Microsoft.Data.Entity.Design.Package.MicrosoftDataEntityDesignPackage(转)
- 项目实战SportsStore——订单处理模块
热门文章
- Fiddler教程--简介
- window下用taskkill杀死进程
- rc.local(ubuntu18.04)
- 010 异步处理Rest服务
- C/C++中如何获取数组的长度(宏&;模板)
- day5 列表的增删改查
- TF:TF分类问题之MNIST手写50000数据集实现87.4%准确率识别:SGD法+softmax法+cross_entropy法—Jason niu
- 二、网络编程-socket之TCP协议开发客户端和服务端通信
- POJ 3281 Dining (拆点)【最大流】
- elf逆向入门