VS中的Properties下的AssemblyInfo.cs可以设置相应的版本号。下面是AssemblyInfo.cs设置版本的方式。
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]但是,这个需要每次都设定,而且与SVN上的版本号并不一致,追塑起来不是很方便。所以就想着取SVN上的版本号作为项目的版本号。要得到SVN的版本号,可以在SVN的节眯下,通过SVN的命令svn info来获得信息。这通过CMD命令很容易可以达到,不过,我希望在VS编译时,每次都去获取,所以选择了在VS预生成事件命令中去执行。看下图
预生成事件命令行中输入相应的CMD命令。
1.svn info>svn_info.txt 是执行SVN命令,获取相应的版本信息,然后存到svn_info.txt的文件中。
2.findstr "Revision" svn_info.txt>..\svn_version.dll 从svn_info.txt中查找出版本号,并存到svn_version.dll中。
3.del svn_info.txt 删除svn_info.txt文件。
在编译时将会生成svn_version.dll,需要将该文件添加到项目中,以便能同时发布。这里取名为svn_version.dll,可以找成其他的名字和后缀名。
这样在项目启动时,可以通过读取svn_version.dll中的内容来获取SVN版本号。

本文介绍了如何在Visual Studio(VS)的预生成事件中利用CMD命令获取SVN版本信息,并将其作为项目内部版本号。通过在AssemblyInfo.cs设置版本号,使用`svn info`命令保存版本信息到文本文件,再通过`findstr`查找修订版本号并写入到dll文件中。在编译后,将生成的svn_version.dll添加到项目,从而在运行时能读取SVN版本号。
3470

被折叠的 条评论
为什么被折叠?



