版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq395537505/article/details/49661555

一、前言                              

.net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件。但我们实际上通过另一个形式操作该文件。那就是通过在鼠标右键点击项目的属性进入“应用程序”->“程序集信息”,然后修改信息。

二、作用                              

通过特性(Attribute)来设置程序集(dll文件)的常规信息,供查看或作为配置信息供程序内部使用。

三、详解                              

  1.  
    // 程序集标题
  2.  
    [assembly: AssemblyTitle("程序集标题")]
  3.  
    // 程序集描述
  4.  
    [assembly: AssemblyDescription("程序集描述")]
  5.  
    // 产品名称
  6.  
    [assembly: AssemblyProduct("产品名称")]
  7.  
    // 公司
  8.  
    [assembly: AssemblyCompany("公司名称")]
  9.  
    // 合法商标
  10.  
    [assembly: AssemblyTrademark("合法商标")]
  11.  
    // 产品的内部名称
  12.  
    [assembly: AssemblyCulture("产品的内部名称")]
  13.  
    // 版权
  14.  
    [assembly: AssemblyCopyright("Copyright 2014")]
  15.  
     
  16.  
    // 程序集的版本信息由下面四个值组成:
  17.  
    //
  18.  
    // 主版本
  19.  
    // 次版本
  20.  
    // 内部版本号
  21.  
    // 修订号
  22.  
    //
  23.  
    // 可以指定所有这些值,也可以使用“内部版本号”和“修订号”的默认值,
  24.  
    // 方法是按如下所示使用“*”:
  25.  
    [assembly: AssemblyVersion("1.0.0.0")]
  26.  
     
  27.  
    // 控制程序集中所有类型对COM的可访问性
  28.  
    [assembly: ComVisible(false)]
  29.  
    // 配置文件,如零售、发布、调试等信息。程序集在运行时不会使用该信息
  30.  
    [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文件详解的更多相关文章

  1. .Net魔法堂:AssemblyInfo.cs文件详解

    一.前言 .net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件.但我们实际上通过另一个形式操作该文件.那就是通过在鼠标右键点 ...

  2. Linux-apache httd.conf文件详解

    Linux-apache httd.conf文件详解 # This is the main Apache server configuration file. It contains the # co ...

  3. web.xml文件详解

      web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...

  4. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

  5. SUBLIME TEXT 2 设置文件详解

    SUBLIME TEXT 2 设置文件详解 Preferences.sublime-settings文件: // While you can edit this file, it’s best to ...

  6. [转]AndroidManifest.xml文件详解

    转自:http://www.cnblogs.com/greatverve/archive/2012/05/08/AndroidManifest-xml.html AndroidManifest.xml ...

  7. delphi 资源文件详解

    delphi资源文件详解 一.引子: 现在的Windows应用程序几乎都使用图标.图片.光标.声音等,我们称它们为资源(Resource).最简单的使用资源的办法是把这些资源的源文件打入软件包,以方便 ...

  8. VSFTPD全攻略(/etc/vsftpd/vsftpd.conf文件详解)

    /etc/vsftpd/vsftpd.conf文件详解,分好类,方便大家查找与学习 #################匿名权限控制############### anonymous_enable=YE ...

  9. AssemblyInfo.cs文件参数具体讲解

    在asp.net中有一个配置文件AssemblyInfo.cs主要用来设定生成的有关程序集的常规信息dll文件的一些参数,下面是默认的AssemblyInfo.cs文件的内容具体介绍 //是否符合公共 ...

随机推荐

  1. 使用mini-textbox控件时 不能获取value值

    当使用class=“mini-textbox”文本框时 使用document.getElementById('id').value 获得的文本框输入值是‘undefined’而使用正常的input 不 ...

  2. Kafka命令行操作及常用API

    一.Kafka命令行操作 1.查看当前集群已存在的主题 bin/kafka-topic.sh --zookeeper hd09-01:2181 --list 2.创建主题 bin/kafka-topi ...

  3. Context家族

    --摘自<android插件化开发指南> 1.ContextWrapper只是一个包装类,没有任何具体的实现,真正的逻辑都在ContextImpl里面 2.应用程序中包含多个Context ...

  4. hust 1010 The Minimum Length(循环节)【KMP】

    <题目链接> 题目大意: 有一个字符串A,一次次的重写A,会得到一个新的字符串AAAAAAAA.....,现在将这个字符串从中切去一部分得到一个字符串B,例如有一个字符串A="a ...

  5. Python中list、字典、字符串的讲解

    python 的list讲解  计算机中的数组是从0开始的 list中的下标.角标.索引说的都是一个 数组都是从0开始的. stus=["刘",“王”,“张”] stus2=[] ...

  6. Java内存管理-掌握类加载器的核心源码和设计模式(六)

    勿在流沙筑高台,出来混迟早要还的. 做一个积极的人 编码.改bug.提升自己 我有一个乐园,面向编程,春暖花开! 上一篇文章介绍了类加载器分类以及类加载器的双亲委派模型,让我们能够从整体上对类加载器有 ...

  7. JavaIO流中的拷贝

    JavaIO流中对数据的操作尤为重要,掌握了基本的拷贝操作,才能将各种数据源的操作联系起来. 先来看看对文件夹的拷贝吧: /** * 利用递归实现文件夹的拷贝操作 * 分析:判断 * 是文件:调用拷贝 ...

  8. linux 命令基础一。

    UNIX是什么 UNIX的定义: UNIX是一个计算机操作系统,一个用来协调.管理和控制计算机硬件和软件资源的控制程序. UNIX操作系统的特点:多用户和多任务多用户表示在同一时刻可以有多个用户同时使 ...

  9. BZOJ.3784.树上的路径(点分治 贪心 堆)

    BZOJ \(Description\) 给定一棵\(n\)个点的带权树,求树上\(\frac{n\times(n-1)}{2}\)条路径中,长度最大的\(m\)条路径的长度. \(n\leq5000 ...

  10. Java -- 内部类(二)

    在上一篇博客Java --内部类(一)中已经提过了,java中的内部类主要有四种:成员内部类.局部内部类.匿名内部类.静态内部类. 该文主要介绍这几种内部类. 成员内部类 成员内部类也是最普通的内部类 ...