频 道 直 达 - 新闻 - 培训 - 软件 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 读书 - 博客 - BBS
51CTO.COM_中国最大的网络技术网站
找资料:

2.2.1 AssemblyInfo文件

作者: Erik Brown 徐波译 出处:机械工业出版社华章公司  2007-11-02 10:26    砖    好    评论   进入论坛
阅读提示:《Windows Forms 编程实战》第二章介绍Microsoft的交互性开发环境(IDE),这个环境就是Visual Studio,本文是AssemblyInfo文件。

2.2   Windows Forms控件

在本节中,我们在窗体中添加Button和PictureBox控件,就像第1章的程序清单1.2所做的那样。读者可能还记得,第1.2节还修改了这个应用程序的版本号,因此首先让我们来看看Visual Studio是如何完成这个任务的。

2.2.1   AssemblyInfo文件

当我们创建C# Windows应用程序项目时,Visual Studio会在这个项目中包含一个AssemblyInfo.cs文件。这个文件定义了这个程序集的各种属性,例如在“Windows资源管理器”中“属性”对话框的“版本”选项卡上所显示的版本号。在C#中,“属性”(Attribute)是个声明性的标签,它影响程序集、类型(例如类)或类型成员(例如方法或属性)的设置或程序集所展现的行为。所有的属性都是基本.NET 框架所定义的System.Attribute类,后者是System命名空间的一个组成部分。

AssemblyInfo.cs文件使用了这个命名空间所定义的与程序集相关的一些属性。这些设置是用标准属性格式定义的,作用于程序集文件:

[assembly: <attribute>(<setting>)]    

按照这个目的而定义的各种属性类包括AssemblyVersionAttribute类,它支持文件版本号设置。在C#中,类名的属性部分可以省略,结果是像下面这样的版本号设置:

[assembly: AssemblyVersion("1.0")]  


表2-1对这个文件所使用的属性进行了总结。


大部分属性都接受一个字符串,它指定了这个属性的值。唯一的例外是AssemblyVersion属性。版本号是在内部使用的,对应用程序所使用的其他程序集(即程序或程序库)的期望版本号和实际版本号进行比较。版本号的格式是个像下面这样的字符串:

Major.Minor.Build.Revision


这4个值都应该是整数。前2个值是目前大多数产品所使用的主版本号和次版本号。第3个值是生成号(内部版本号),用于区分同一程序集的同一个次版本号的几次不同编译。最后一个值是修订号,用于bug修正或其他偶尔的更新。当然,我们可以根据自己的意愿来设置这些编号的含义,前面所述的只是推荐的做法。

生成号和修订号在程序集每次被生成时由编译器自动插入。这是通过插入1个星号(*)来代替这2个编号的其中1个或2个来实现的。

在这种情况下,自动产生的生成号是2000年1月1日以来的天数(本地时间)。自动产生的修订号是前一个午夜(本地时间)以来所经历的秒数除以2。这些自动产生的值保证每次编译所生成的是新的生成号和修订号,并且生成号总是处于增长中,而修订号在同一个生成号内总是处于增长中。应该注意,这个方案即使用上几千年,修订号也绝不会超出32位整数所能容纳的范围。

在我们的应用程序中,为了建立书中的代码与从本书的网站所下载的代码之间的联系,我们把这个应用程序的版本号设置为2.2。在这里,我们还将为AssemblyInfo.cs中的其他设置进行赋值,并使用Application类的ProductVersion属性在标题栏中自动包含这个版本号。


在这个应用程序中,我们可以显式地设置生成号和修订号,或者允许.NET自动产生它们。在本书中,我们将不断地修改版本号,把书中的章节与应用程序的当前版本相对应。读者也可以根据自己的意愿修改版本号,或者对版本号不作修改。在下载代码中,这些版本号可以标识与本书的特定章节相关联的文件。

版本号标识了客户所使用的产品的一个特定实例。它对于文档和技术支持非常有用,并可以提醒用户这个产品在什么时候添加了新的特性或功能。注意,在一个称为“关于”的对话框中显示版本号是种常见的做法。这个对话框可以通过应用程序的顶层菜单“帮助”来访问。我们将在本书的后面包含这个特性。

当然,Form1类并不是一个非常具有描述性的名称。因此,我们接下来修改这个类的名称。

【责任编辑:雪花 TEL:(010)68476606】

回书目   上一节   下一节
专题
体验Visual Studio 2008的魅力
Visual Studio 2005开发基础
C#实用基础教程
Informix数据库开发向导
C#技术开发指南
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 最 大 的 网 络 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:SQL Server数据库管理精品黄皮书
简介:书中文章经过精挑细选,便于用户能根据自己的实际工作和学习,快速在本书寻找到相关资料。内容涵盖了SQL Server的安装与升级、语句查询、数据备份和恢复、自动化任务、数据同步、数据字典、安全和预防、性能和优化、集群等各方面应用信息,以及DBA管理人员在数据库管理工作中
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
浏览器的战国时代
浏览器的战国时代
ARP攻击防范与解决方案
ARP攻击防范与解决方案
NAC安全访问控制
NAC安全访问控制
· NAC安全访问控制
· 网络布线测试仪器
· Windows Server 2008专..
· Windows远程桌面应用
· 网络故障排除宝典
· 运营商封堵ADSL共享 中..
· 解析35岁技术人的价值..
· 世纪枭雄比尔盖茨的王..
· 主流品牌防火墙配置
· ASP.NET开发教程
· 超级计算机TOP500专题
· Vista SP1对决XP SP3
· SQL Server 2008/2005..
· 程序员如何成长?
· C#技术开发指南
· 虚拟化技术还有点“虚”
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SOA 面向服务架构
SOA 面向服务架构
· SOA 面向服务架构
· SQL Server 2008/2005..
· Apache技术专题
· 三层交换技术专题
· SQL Server入门到精通
· Windows远程桌面应用
· C#技术开发指南
· Apache技术专题
· Windows集群服务应用
· C#技术开发指南
· 国际文档格式标准开战
· 路由器设置与口令恢复
· Linux 集群技术专题
· PHP开发应用手册
· SOA 面向服务架构
· 企业数据恢复指南
ARP攻击防范与解决方案
ARP攻击防范与解决方案
SQL Server 2008/2005全解
SQL Server 2008/2005全解
SQL Server入门到精通
SQL Server入门到精通
· SQL Server入门到精通
· SQL Server 2008/2005..
· SOA 面向服务架构
· Apache技术专题
· C#技术开发指南
· 三层交换技术专题
· Apache技术专题
· C#技术开发指南
· Windows远程桌面应用
· 企业数据恢复指南
· Windows集群服务应用
· 路由器设置与口令恢复
· Linux 集群技术专题
· SOA 面向服务架构
· 了解统一威胁管理(UTM)..
· 反垃圾邮件技术应用