码迷,mamicode.com
首页 > Windows程序 > 详细

VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)

时间:2018-08-20 13:11:32      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:lang   orm   detail   code   tps   版本   sharp   1.0   str   

原文:VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)

在开发项目时,需要知道当前发布的到底是哪个版本,比较好的方式就是获取SVN的版本来作为项目的版本。项目版本一般由主版本、次版本、内部版本、修改版本四个部分组成,我们获取的SVN版本就作为修改版本即可。这里需要利用SVN的SubWCRev.exe来实现,一般安装了SVN后都会有的。SubWCRev.exe获取SVN版本并依据模板文件,更新到相应的目标文件中。下面是具体的步骤。

1.将项目中Properties中的AssemblyInfo.cs文件复制一份,命名为AssemblyInfo.template.cs,同时将该文件的编译属性设置为无。设置为无是为了不让该文件不参与编译。

技术分享图片

同时将[assembly: AssemblyVersion("1.0.0.538")]和[assembly: AssemblyFileVersion("1.0.0.538")]修改为[assembly: AssemblyVersion("1.0.0.$WCREV$")]和[assembly: AssemblyFileVersion("1.0.0.$WCREV$")],如下图

技术分享图片

其中$WCREV$是SubWCRev.exe用来匹配然后替换成最新版本号的,必须要这个名字。

2.在项目属性的生成事件中,添加预先生成事件命令,命令内容为SubWCRev $(SolutionDir) ? $(ProjectDir)Properties\AssemblyInfo.template.cs ?$(ProjectDir)Properties\AssemblyInfo.cs,如下图

技术分享图片

3.编译生成后,可以看到AssemblyInfo.cs中的版本号已经变了,如下图

技术分享图片

4.代码中取得该版本号并显示,代码如下

 this.Text += String.Format("({0})", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString());
结果如下图所示

技术分享图片
转载请注明出处


VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)

标签:lang   orm   detail   code   tps   版本   sharp   1.0   str   

原文地址:https://www.cnblogs.com/lonelyxmas/p/9504863.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!