导航菜单
首页 » 问答 » 正文

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

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

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

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

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

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

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

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

 this.Text += String.Format("({0})", System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString());

结果如下图所示

评论(0)

二维码