zoukankan      html  css  js  c++  java
  • .Net程序版本号的含义和版本控制机制

    .net程序版本号的格式是4端十进制数字

    比如

    2.5.729.2

    他们依次是

    Major Number:主版本号

    Minor Number:副版本号

    这两个号码是对外的版本号,也就是说上面这个程序是2.5版的

    Building Number:编译版本号

    比如如果一天编译一次的话,那么每天编译版本号加一,上边的程序经过了729天的开发。

    Revision Number:再版版本号

    比如某一天的一次编译有重大的bug,在编译就是这版本号加一。

    所以后两个版本号是内部版本号。

    这是微软公司使用的版本号模式,在开发中最好遵守。

    编程时可以获得的三个版本号及其区别:

    使用Visual Studio 编程时,生成的AssembIyInfo.cs中可以加入以下信息,并自动更新版本号。

    AssemblyFileVersion

    C#自定义属性

    [assembly: AssemblyFileVersion("1.0")]

    AssemblyInformationalVersion

    C#自定义属性

    [assembly: AssemblyInformationalVersion("1.0.*")]

    CLR并不关心上面这两个属性,他们只是一个描述性的信息,编译后他们存储在Win32 Version Resources中

    AssemblyVersion

    C#自定义属性

    [assembly: AssemblyVersion("1.0.*")]

    当命名强类型的数据集时C#使用这个版本号,编译后他被存储在AssemblyDef manifest datable中

    这个版本号是很重要的,他是一个程序集的唯一标识

    同样的当我们引用一个现有的.net程序集的时候,它的版本号被编译到AssemblyRef table中,也就是说,只有能够在指定的路径找到指定的文件而且他的版本号是正确的,.net程序才可以正常运行。引用程序集更换版本号,必须更新引用,并且重新编译。这应该就是.net避免以往Win32程序'Dll Hell'的机制所在。

  • 相关阅读:
    【Android Developers Training】 51. 序言:打印内容
    小米手机开发遇到的问题
    Linux进程的实际用户ID和有效用户ID
    Linux core 文件介绍
    Linux下内存的几个基本概念
    mingw libgcc_s_sjlj-1.dll is missing
    C语言函数申明关键字inline
    关于编译错误--提领指向不完全类型的指针
    linux下创建用户[转]
    Linux查看CPU和内存使用情况[转]
  • 原文地址:https://www.cnblogs.com/oyjj/p/2133014.html
Copyright © 2011-2022 走看看