zoukankan      html  css  js  c++  java
  • AssemblyInfo.cs文件详解

    版权声明:本文为博主原创文章,未经博主允许不得转载。 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

    如果您觉得本文的内容有趣就扫一下吧!捐赠互勉!


  • 相关阅读:
    [转]谈谈技术原则,技术学习方法,代码阅读及其它
    ImageMagick 详细安装使用 linux (jmagick)
    Sql Server中的表访问方式Table Scan, Index Scan, Index Seek
    在SQL Server中创建用户角色及授权
    LINQ to SQL:创建你的第一个程序
    Sql Server Statement Output
    内置系统账户:Local system/Network service/Local Service 区别
    SQL Server的备份
    SQL Server 使用Agent自动备份数据库
    将sql server 2000的备份文件导入到sql server 2012中
  • 原文地址:https://www.cnblogs.com/suizhikuo/p/10419329.html
Copyright © 2011-2022 走看看