.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文件中统一管理咯!

时间: 2024-09-30 17:09:07

.Net魔法堂:AssemblyInfo.cs文件详解的相关文章

MyBatis魔法堂:Insert操作详解(返回主键、批量插入)

一.前言      数据库操作怎能少了INSERT操作呢?下面记录MyBatis关于INSERT操作的笔记,以便日后查阅.   二. insert元素 属性详解   其属性如下:    parameterType ,入参的全限定类名或类型别名    keyColumn ,设置数据表自动生成的主键名.对特定数据库(如PostgreSQL),若自动生成的主键不是第一个字段则必须设置    keyProperty ,默认值unset,用于设置getGeneratedKeys方法或selectKey子元

CSS魔法堂:Position定位详解

一.Position各属性值详解   1.  static :默认值,元素将按照正常文档流规则排列.   2.  relative :相对定位,元素仍然处于正常文档流当中,但可以通过left.top.right和bottom的CSS规则来改变元素的位置.        注意点:[a]. 元素原来位置将保留,不被其他元素所占据;                      [b]. 当使用left,top改变元素位置时,元素将以原来位置的border外边框的左上角作为参考点 ;           

bash魔法堂:History用法详解

Brief   又要敲那条长到没朋友的命令了,真心不再爱了...   有了history这条命令我想大家可以再爱一次了吧!   >history   语法: history [n | -c | -raw histfile]    n -- 数字,用于表示罗列最近的n笔命令   -c -- 表示清除history中的所有内容(实质上是清理$HISTFILE中保存的内容)   -a -- 表示将当前会话的自上次执行history -a histfile命令后执行所有命令保存到hisfile文件中,若

Java魔法堂:注解用法详解——@SuppressWarnings

一.前言   编码时我们总会发现如下变量未被使用的警告提示:   上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些"感叹号".   二. @SuppressWarings注解    作用:用于抑制编译器产生警告信息.   示例1--抑制单类型的警告: @SuppressWarnings("unchecke

Java魔法堂:枚举类型详解

一.前言   Java的枚举类型相对C#来说具有更灵活可配置性,Java的枚举类型可以携带更多的信息. // C# enum MyColor{ RED = 0, BLUE = 1 } Console.Write(MyColor.RED); // Java enum MyColor{ RED("Hot", 4), BLUE("SAD",8); private String mood; public String getMood{ return mood; } priv

Java魔法堂:String.format详解-

  目录     一.前言     二.重载方法     三.占位符     四.对字符.字符串进行格式化     五.对整数进行格式化     六.对浮点数进行格式化     七.对日期时间进行格式化     八.其他转换符     九.总结     参考   一.前言    String.format 作为文本处理工具,为我们提供强大而丰富的字符串格式化功能,为了不止步于简单调用 String.format("Hello %s", "John"); ,下面将笔记

Java魔法堂:JUnit4使用详解

目录                                                                                              1. 开胃示例 2. 固件测试 3. 忽略测试用例 4. 异常测试 5. 超时测试 6. 测试运行器 7. 参数化测试 8. 套件测试 9. JUnit4.4assertThat断言 10. assumeThat断言 11. 参考   一.开胃示例 被测试类--获取学生数据: /** * 学生信息实体 */

Java魔法堂:注解用法详解——@Override

一.前言   现在有Son和Parent两个类,且类型Son将会重写类型Parent的getName函数.但不幸的是由于码农大意,写成如下代码: public class Parent{ public String getName(){ return "Parent"; } } public class Son extends Parent{ public String getNames(){ return "Son"; } }  上述代码编译通过且人工无意识到实现

Java魔法堂:注解用法详解——@SuppressWarnings(转)

一.前言   编码时我们总会发现如下变量未被使用的警告提示:   上述代码编译通过且可以运行,但每行前面的"感叹号"就严重阻碍了我们判断该行是否设置的断点了.这时我们可以在方法前添加 @SuppressWarnings("unused") 去除这些"感叹号".   二. @SuppressWarings注解    作用:用于抑制编译器产生警告信息.   示例1--抑制单类型的警告: @SuppressWarnings("unchecke