zoukankan      html  css  js  c++  java
  • 程序集版本资源信息

      major(主版本号) minor(次版本号) build(内部版本号) revision(修订号)
    示例 2 5 719 2

    1,版本号:
    表展示了示例版本号:2.5.719.2。前两个编号构成了公众对版本号的理解。公众会将这个例子看成是程序集的2.5版本。第三个编号719是程序集的build号。如果公司每天都生成程序集,那么每天都应该递增这个build号。最后一个编号2指出当前build的修订次数。如果因为某个原因,公司某一天必须生成两次程序集(可能是为了修复一个造成其他什么事情都干不了的红毯bug),revision号就应该递增。

    2,程序集中的三个版本号:

    ①AssemblyFileVersion
    这个版本号存储在Win32版本资源中。它仅供参考,CLR既不检查,也不关心这个版本号。通常,可以选设置好版本号的major/minor部分,这是希望公众看到的版本号。然后,每生成一次就递增build和revision号(根据生成时的日期和时间)。但实情并非如此。在Windows资源管理器中能看到这个版本号。对客户系统进行故障诊断时,可根据它识别程序集的版本是多少

    ②AssemblyInfomationnalVersion
    这个版本号也存储在Win32版本资源中,同样仅供参考。CLR既不检查,也不关心这个版本号。这个版本号的作用是指出包含该程序集的产品的版本。例如:产品的2.0版本可能包含几个程序集,其中一个程序集标记为版本1.0,为我他是新开发的,在产品的1.0版本中不存在。通常,可以设置这个版本号的major和minor部分来代表产品的公开版本号。以后每次打包所有程序集来生成完整产品,就递增build和revision部分

    ③AssemblyVersion
    这个版本号存储在AssemblyDef清单元数据表中。CLR在绑定到强命名程序集时会用到它。这个版本号很重要,它唯一性地标识了程序集。开始开发程序集时,应该设置好major/minor/build/revistion部分。而且除非要开发程序集的下一个可部署版本,否则不应变动,如果程序集A引用了强命名的程序集B,程序集B的版本会嵌入程序集A的AssemblyRef表。这样一来,当CLR需要加载程序集B时,就准确地知道当初生成和测试的是程序集B的哪个版本。利用绑定重定向技术,可以让CLR加载一个不同的版本

    学习永不止境,技术成就梦想。
  • 相关阅读:
    Illegal mix of collations (latin1_swedish_ci,COERCIBLE) and (gbk_chinese_ci,COERCIBLE) for operation '=' 一个解决办法(转载)
    mysql limit用法
    preparedStatement一个小技巧
    两个简单的压力测试代码。
    cookie实现session机制
    java.util.properties用法
    数据库是否使用外键,及视图,索引,存储过程的一些说明(zz)
    某项目要调用现有的100多个DLL 二 最最简单原型的思考
    面试题:红绿灯
    一个简单的封装 .net的日志功能
  • 原文地址:https://www.cnblogs.com/zd1994/p/6368369.html
Copyright © 2011-2022 走看看