码迷,mamicode.com
首页 > Windows程序 > 详细

[C#] 剖析 AssemblyInfo.cs - 从这里了解常用的特性 Attribute

时间:2016-10-13 02:58:27      阅读:290      评论:0      收藏:0      [点我收藏+]

标签:

剖析 AssemblyInfo.cs - 从这里了解常用的特性 Attribute

【博主】反骨仔    【原文】http://www.cnblogs.com/liqingwen/p/5944391.html

  上次,我们通过《C# 知识回顾 - 特性 Attribute》已经了解如何创建和使用特性 Attribute,这次,让我们一起来看看每次使用 VS 创建项目时所自带的文件 AssemblyInfo.cs。

 

目录

 

核心代码

技术分享

展开图中的代码,看箭头↓

using System.Reflection;
using System.Runtime.InteropServices;

// 有关程序集的常规信息通过下列特性集
// 控制。更改这些特性值可修改
// 与程序集关联的信息。
[assembly: AssemblyTitle("MusicStore")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("MusicStore")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2016")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

// 将 ComVisible 设置为 false 会使此程序集中的类型
// 对 COM 组件不可见。如果需要
// 从 COM 访问此程序集中的某个类型,请针对该类型将 ComVisible 特性设置为 true。
[assembly: ComVisible(false)]

// 如果此项目向 COM 公开,则下列 GUID 用于 typelib 的 ID
[assembly: Guid("a9ef3281-9049-4a52-a2f1-2061d442200e")]

// 程序集的版本信息由下列四个值组成:
//
//      主版本
//      次版本
//      内部版本号
//      修订版本
//
// 可以指定所有值,也可以使用“修订号”和“内部版本号”的默认值,
// 方法是按如下所示使用 "*":
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

 

一、全局属性

  大多数特性适用于特定的语言元素(如类或方法),但是,有些属性是全局它们适用于整个程序集或模块。如:AssemblyVersionAttribute 属性可用于向程序集中嵌入版本信息。

技术分享

 

  全局特性在源代码中出现在任何顶级 using 指令以及任何类型、模块或命名空间声明之前。全局特性可显示在多个源文件,但是,在单一编译传递必须编译文件。在 C# 项目中,它们在 AssemblyInfo.cs 文件中。

  程序集特性是提供有关程序集的信息的值。它们分成以下类别:

    ①程序集标识特性

    ②信息性特性

    ③程序集清单特性

    ④强名称特性

  

  1.程序集标识特性

  三个特性 (使用强名称,如果适用) 确定程序集的标识:名称、版本和区域性。当在代码中引用时,这些特性构成程序集的完整名称需要。使用特性,可以将程序集的版本和区域性。但是,名称值由编译器,在 “程序集信息”对话框 的 Visual Studio IDE 设置,创建程序集后,根据包含程序集清单的文件。AssemblyFlagsAttribute 特性指定程序集的多个副本是否可以共存。

技术分享

 

技术分享

图 - “程序集信息”对话框

技术分享

图 - “程序集信息”对话框中的名词和 AssemblyInfo.cs 文件的对应关系

 

  2.信息性特性

  您可以使用信息性特性为程序集提供其他的公司或产品信息。

技术分享

 

  3.程序集清单特性

  可以使用程序集清单特性提供程序集清单中的信息。其中包括标题、说明、默认别名和配置。

技术分享

 

  4.强名称特性(不深入)

  一般存在 Visual Studio 的早期版本,若要使用强名称的程序集执行以下程序集级别特性:

    ①AssemblyKeyFileAttribute

    ②AssemblyKeyNameAttribute

    ③AssemblyDelaySignAttribute

  这仍支持,但是,给程序集签名的首选方法是使用“签名页”。(这里不深入了解)

 
 

传送门

  《C# 知识回顾 - 特性 Attribute

  《C# 知识回顾 - 序列化

  《C# 知识回顾 - 表达式树 Expression Trees

 


预览版,待整理完毕后再发布到首页

【参考】微软官方文档



 

[C#] 剖析 AssemblyInfo.cs - 从这里了解常用的特性 Attribute

标签:

原文地址:http://www.cnblogs.com/liqingwen/p/5944391.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!