版权声明:本文为博主原创文章,未经博主允许不得转载。 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. ERROR 000732:Output Geodatabase:Dataset Database Connections\Connection to localhost.sde\SDE.Dataset does not exist or is not supported

    ArcCatalog 10中向SDE 数据集导入要素类时,出错:ERROR 000732:Output Geodatabase:Dataset Database Connections\Connect ...

  2. tomcat配置后台管理监控页面

  3. 51Nod1868 彩色树 虚树

    原文链接https://www.cnblogs.com/zhouzhendong/p/51Nod1868.html 题目传送门 - 51Nod1868 题意 给定一颗 $n$个点的树,每个点一个 $[ ...

  4. 查看name的状态,是属于active还是standby

    sudo -E -u hadoop /home/hadoop/bin/hdfs haadmin -getServiceState nn1 sudo -E -u hadoop /home/hadoop/ ...

  5. Mysql乐观锁与悲观锁

    乐观锁和悲观锁是两种常见的资源并发锁设计思路,也是并发编程中一个非常重要的基础理念. Mysql的悲观锁 什么是悲观锁(Pessimistic Lock): 悲观锁的特点是先获取锁,再进行业务操作,即 ...

  6. window.open 和showModalDialog的返回值

    方法: 1:  在父级页面 test.aspx 的点击<input type="button" id="btnShow" onclick="sh ...

  7. C语言实现链栈

    我自己写的代码部分: #include<stdio.h> #include<stdlib.h> #include<string.h> typedef struct ...

  8. 【JavaScript】对象

    No1: typeof操作符获取对象的类型 null的类型是object,Array的类型也是object,如果我们用typeof将无法区分出null.Array和通常意义上的object——{}. ...

  9. Codeforces 1096D Easy Problem 【DP】

    <题目链接> 题目大意: 给你一个字符串,每个字符有权值,问现在删除字符串中的字符使其中没有"hard"的最小代价是多少. 解题分析: 用DP来求解:        转 ...

  10. Python2.*与Python3.*共存问题

    安装Python 2.7后,本来在3.4下能正常使用的脚本无法运行.网上有的方法是把两个版本的主程序分别改名为python2和python3,人眼判断脚本,手输命令行执行脚本.像我这样喜欢双击.拖拽的 ...