通过Linux内核的版本类型:http://www.cnblogs.com/EasonJim/p/6092784.html
下面,是结合了上述总结的个人对产品发布的版本号的方案:
(注意:全部代码都通过SVN/Git进行管理)
1、【master】:主线版本,不断的往上开发,加入新特性和功能,版本号也不断的递增。
2、【beta】:测试版本,由master觉得成熟之后发布出来,但会带有一些常见bug出现,有bug时直接修复提交到master,由master再次发布下一个beta版本(注意:此版本无任何新功能加入,除非是定制需求的开发)。最后统一升级到最新beta版本。如果不想升级最新版本时,那么直接发布修复补丁进行修复,再或者直接修复后编译版本进行安装。如果是在版本上直接修复的,需要在版本号上要明确带上哪个beta版的标识,同时在后面加入此次修复不断递增的针对此beta版本的递增版本号(如:v1.2.3_beta_1.0.0.1,升级了下一个beta版本后的版本号标识上要做相应修改,即前变后不变,如:v1.2.4_beta_1.0.0.1)。
3、【lts】:longtermstable长期稳定版本,有master发布了几个测试版本后觉得无任何bug之后,进行发布长期稳定版本,同时也是采用beta的命名和处理机制。不过这个版本是可以拿出去发售的版本。
注意:
1、每发布一种类型的版本号,都在SVN/Git上建立一个分支进行维护。
2、如果要精简的版本号,如1.1.1.234这样的,那么到了发布时,采用1.2.0.0,最终输出的就是V1.2。
方案的技术实现:
如果是dotnet的dll命名上,类似于带上中文的版本号可以在产品版本上直接填写,使用文件版本只能是数字:
在【AssemblyInfo.cs】文件上用【AssemblyInformationalVersion】特性进行编写,最终输出的产物:
像【AssemblyVersion】和【AssemblyFileVersion】特性只能输入数字。