VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)
2015-10-20 17:57
423 查看
在开发项目时,需要知道当前发布的到底是哪个版本,比较好的方式就是获取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.代码中取得该版本号并显示,代码如下
转载请注明出处
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());结果如下图所示
转载请注明出处
相关文章推荐
- 大白话系列之C#委托与事件讲解
- c# IEnumerable和IEnumerator & Lambda表达式
- C# WinForm 单例模式(例:同一个窗体只创建一次实例)
- C#学习日记27----属性
- 如何有效的使用C#读取文件
- C#中的隐藏和重写
- c# XML和实体类之间相互转换(序列化和反序列化)
- C#内存优化
- C# 值类型和引用类型,堆和堆栈的区别
- 传智播客c#学习笔记1
- C#开发经典书籍
- [转]C#之反射
- C#中对EXCEL保存的SAVEAS方法说明
- C# 理解lock
- C#接口实现& is和as的含义与使用
- C#中正则表达式的使用
- C# 反射笔记
- c# 操作Word总结(四)——书签使用
- C#二维数组基本用法实例
- AX2009 C#客户端通过Web service批量审核工作流(二)