zoukankan      html  css  js  c++  java
  • .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文件中统一管理咯!

      尊重原创,转载请注明来自:http://www.cnblogs.com/fsjohnhuang/p/3992258.html ^_^肥仔John

    七、参考                                

    http://www.itwis.com/html/net/aspnet/20091211/7123.html

  • 相关阅读:
    16. 3Sum Closest
    17. Letter Combinations of a Phone Number
    20. Valid Parentheses
    77. Combinations
    80. Remove Duplicates from Sorted Array II
    82. Remove Duplicates from Sorted List II
    88. Merge Sorted Array
    257. Binary Tree Paths
    225. Implement Stack using Queues
    113. Path Sum II
  • 原文地址:https://www.cnblogs.com/magic-xxj/p/7728321.html
Copyright © 2011-2022 走看看