.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文件中统一管理咯!

目录
相关文章
|
4月前
|
前端开发 API
.NET7之MiniAPI(特别篇):.NET7 Preview3
.NET7之MiniAPI(特别篇):.NET7 Preview3
47 0
|
XML JavaScript .NET
一起谈.NET技术,关于ASP.NET页面打印技术的总结
B/S结构导致了Web应用程序中打印的特殊性。   • 程序运行在浏览器中,打印机在本地,而文件确可能在服务器上,导致了打印控制不是很灵活。   • 格式如何控制和定制等,是我们开发中可能会面对的问题。
1403 0
|
SQL 存储 .NET
ASP.NET调用.sql文件(二“.NET研究”)
  笔者前一阵子发表了一篇《ASP.NET调用.sql文件》文章,主要是是解决数据库配置,减去传统手工附加数据库和自己改写web.config文件等等这些复杂的过程,而是配置的向导。其中给出关键的技术知识点,就是通过sql数据库生成数据库脚本即.sql文件,然后通过调用osql.exe来执行.sql文件。
788 0
|
IDE Linux 程序员
一起谈.NET技术,.net其实也可以不拖控件的......
  随着时代的进步,说.net就是拖拖控件的人越来越少了,作为一个抱有"就是喜欢拖控件"想法的人,我还是不得不研究一下完全没有IDE的情况下怎么生存。   国内的大部分无知而浅薄的".net程序员",完全是被横行的盗版IDE惯坏了。
952 0
|
存储 .NET 数据库
一起谈.NET技术,ASP.NET 项目安装包制作(三)补充说明
  相关文章:ASP.NET项目安装包制作 、ASP.NET 项目安装包制作(二)数据库安装、其他组件的安装   一、 安装标题   按照前面的做法中,在安装过程中,如下图:   安装的标题是HxjWebSteup,这样的标题和产品名称显然是无法再实际项目中使用的。
920 0
|
前端开发 .NET C++
一起谈.NET技术,VS 2010 和 .NET 4.0 系列之《在VS 2010中查询和导航代码》篇
本系列文章导航 VS 2010 和 .NET 4.0 系列之《ASP.NET 4 中的SEO改进 》篇 VS 2010 和 .NET 4.0 系列之《干净的Web.Config文件 》篇 VS 2010 和 .
1036 0
|
SQL 存储 .NET
一起谈.NET技术,ASP.NET调用.sql文件(二)
  笔者前一阵子发表了一篇《ASP.NET调用.sql文件》文章,主要是是解决数据库配置,减去传统手工附加数据库和自己改写web.config文件等等这些复杂的过程,而是配置的向导。其中给出关键的技术知识点,就是通过sql数据库生成数据库脚本即.sql文件,然后通过调用osql.exe来执行.sql文件。
757 0
|
SQL .NET 数据库
一起谈.NET技术,ASP.NET调用.sql文件
  笔者好久没有写随笔了,这次是遇到提出这样的问题“不用附加数据库,什么修改web.config什么的那么麻烦,而是直接运行一个页面,然后根据向导一步一步引导用户安装生成数据库”那么这样做就需要一个创建数据库的语句和创建这些数据库表的语句,还有这些创建数据库视图以及函数的语句。
814 0
|
监控 关系型数据库 数据库

热门文章

最新文章