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
如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!
AssemblyInfo.cs文件详解的更多相关文章
- .Net魔法堂:AssemblyInfo.cs文件详解
一.前言 .net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件.但我们实际上通过另一个形式操作该文件.那就是通过在鼠标右键点 ...
- Linux-apache httd.conf文件详解
Linux-apache httd.conf文件详解 # This is the main Apache server configuration file. It contains the # co ...
- web.xml文件详解
web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...
- Linux中/proc目录下文件详解
转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...
- SUBLIME TEXT 2 设置文件详解
SUBLIME TEXT 2 设置文件详解 Preferences.sublime-settings文件: // While you can edit this file, it’s best to ...
- [转]AndroidManifest.xml文件详解
转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...
- delphi 资源文件详解
delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便 ...
- VSFTPD全攻略(/etc/vsftpd/vsftpd.conf文件详解)
/etc/vsftpd/vsftpd.conf文件详解,分好类,方便大家查找与学习 #################匿名权限控制############### anonymous_enable=YE ...
- AssemblyInfo.cs文件参数具体讲解
在asp.net中有一个配置文件AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数,下面是默认的AssemblyInfo.cs文件的内容具体介绍 //是否符合公共 ...
随机推荐
- nginx限制单个IP的最大连接数量限制下载速度
今天seafile服务因为测试在下载文件的时候,带宽占用过大,导致seafile客户端无法登陆的问题. 我们公司的seafile是通过nginx代理的8000端口,因此我这边通过修改nginx配置来解 ...
- 51Nod1773 A国的贸易 多项式 FWT
原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1773.html 题目传送门 - 51Nod1773 题意 给定一个长度为 $2^n$ 的序列,第 $ ...
- 数位dp 模板
不能有49 #include<bits/stdc++.h> using namespace std; //input by bxd #define rep(i,a,b) for(int i ...
- IDEA学习——模板及其常用模板
模板及其常用模板 (1)psvm (2)sout sout / soutp / soutv / 变量.sout (3)fori iter增强for循环 itar普通for循环 (4)list.for ...
- 数学建模:1.概述& 监督学习--回归分析模型
数学建模概述 监督学习-回归分析(线性回归) 监督学习-分类分析(KNN最邻近分类) 非监督学习-聚类(PCA主成分分析& K-means聚类) 随机算法-蒙特卡洛算法 1.回归分析 在统计学 ...
- 框架MyBatis
ByBatis MyBatis是Apache的一个开源项目iBatis,iBatis3.x 正式更名为MyBatis ,代码于2013年11月迁移到Github.它是一个基于Java的持久层框架(连数 ...
- utf-8和utf8的区别
utf-8 和 utf8 的区别与使用: "UTF-8" 是标准写法,php 在 Windows 系统里的英文不区分大小写,所以也可以写成 "utf-8".&q ...
- react学习三
三点运算符 (...)的用法 1:展开运算符 let a=[1,2,3]; let b=[0,...a,4];//[0,1,2,3,4] let obj ={a:1,b:2}; let obj2 = ...
- themeleaf引入公共页面
<div th:include="/top :: html"></div>//引用公共页面 <div th:replace="head&qu ...
- unity打成aar上传到maven库的工具
需求: 把unity打成aar并上传到maven库 其实就是把前两个博客整合了一下 unity打aar包工具 aar上传maven库工具 这里先说eclipse版的 package com.jinke ...