本节和大家讨论一下程序集版本***一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下,欢迎大家能和我一起学习SVN版本号的相关知识。
使用SVN进行源代码版本控制时,我们希望能够快速找到每个发布版本对应的源代码版本,现在可以通过在程序集的版本信息中增加SVN源码版本信息的方式来实现我们的要求。
现在我们定义每个程序集的版本信息的最末段表示SVN的源码版本。详细定义如下:
程序集版本号分为4段,例如1.0.4.23。
***段为主版本号,项目一但启动则不会更改。
第二段为次版本号,在项目功能做较大调整时增加,增量为1。
第三段为修订版本号,通常在解决缺陷或者细微功能变化时增加,增量为1或者2。该版本号分奇数和偶数两种。奇数表示测试版本,偶数表示稳定版本。
第四段为SVN源码版本号,该版本号通过脚本自动生成。
使用脚本自动生成SVN版本号的先决条件:
安装TortoiseSVN;
源代码在SVN版本管理控制之下。
修改项目设置,使之能够自动生成SVN版本号:
修改Properties\AssemblyInfo.cs文件,将程序集版本信息的最末一段改为$WCREV$。并增加一行"//***发布时间:$WCDATE$"
例如:
[assembly:AssemblyVersion("1.1.0.$WCREV$")]
[assembly:AssemblyFileVersion("1.1.0.$WCREV$")]
//***发布时间:$WCDATE$
将AssemblyInfo.cs文件重名为AssemblyInfo.tpl,并添加到源代码管理。
从源代码仓库中删除AssemblyInfo.cs,并排除它,使其不受版本管理。
添加本文中的GenerateAssemblyInfo.bat文件到Properties目录中,并添加到源代码管理。
修改项目属性,在生成事件的预生成事件命令行中添加以下命令。
"$(ProjectDir)\Properties\GenerateAssemblyInfo.bat""$(ProjectDir)".\Properties\AssemblyInfo.tpl.\Properties\AssemblyInfo.cs
注意:
在编译之前记得提交你的更改和更新别人的更改,这样才能确保版本号的正确。
今后要对程序集信息进行修改时,请对AssemblyInfo.tpl文件进行修改。
如果生成的AssemblyInfo.cs文件出现中文乱码,打开AssemblyInfo.tpl,在文件->高级保存选项中将文件编码改为UTF-8即可。本节介绍SVN版本号问题完毕。
【编辑推荐】