VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)
原文: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#)的更多相关文章
- VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中
在开发项目时,需要知道当前发布的到底是哪个版本,比较好的方式就是获取SVN的版本来作为项目的版本.项目版本一般由主版本.次版本.内部版本.修改版本四个部分组成,我们获取的SVN版本就作为修改版本即可. ...
- 自动获取svn的版本号
需求 在做打包时,需要获取本地svn仓库的版本号,如下所示: 下面是我试过的几种做法 SubWCRev 使用SubWCRev.exe(TortoiseSVN自带的小工具),用法简单,但获取到的版本号有 ...
- 在HTML页面中实时获取新消息的方法 “JavaScript中的setInterval用法”
JavaScript中的setInterval用法(资料来源:博主---八神吻你 ) setInterval动作的作用是在播放动画的时,每隔一定时间就调用函数,方法或对象.可以使用本动作更新来自数 ...
- MyEclipse中无法将SVN检出来的项目部署到tomcat中
自己遇到的小问题 : 要以web项目方式从svn上倒下来才可以部署到tomcat下检出步骤: myEclipse -->File-->new-->other-->svn--& ...
- iOS开发中,获取图片之后保存或下载到本地相册中
#pragma mark 先获取本地图片或者网络图片 - (void)saveHeaderImageWith:(NSString *)path { UIImage *img = [UIImage im ...
- 如何使用命令将文件夹中的文件名(包括路径)写入到txt文件中
在cmd中使用 cd /d 路径,进入当前文件夹中 使用 dir /s /b > 0.txt 如图:
- C#:通过Visual Studio项目预生成命令获取SVN版本号
之前有一个winfrom项目,想要通过获取SVN版本号作为程序的内部编译版本号.网上也有各种方法,但没有一篇行得通的方法.于是我经过一系列研究,得出了一些经验,特总结成一篇博客. 方法一:通过SVN命 ...
- C/C++中如何获取数组的长度?
C/C++中如何获取数组的长度? 收藏 C.C++中没有提供 直接获取数组长度的函数,对于存放字符串的字符数组提供了一个strlen函数获取长度,那么对于其他类型的数组如何获取他们的长度呢?其中一种方 ...
- PhpStorm中如何配置SVN,详细操作方法 - 郑加全的博客 - CSDN博客
登录|注册 郑加全的博客 目录视图 摘要视图 订阅 CSDN日报0711——<离开校园,入职阿里,开启新的程序人生> 征文 | 你会为 AI 转型么? ...
随机推荐
- C++中string类的操作函数。
相信使用过MFC编程的朋友对CString这个类的印象应该非常深刻吧?的确,MFC中的CString类使用起来真的非常的方便好用.但是如果离开了MFC框架,还有没有这样使用起来非常方便的类呢?答案是肯 ...
- JSON序列化自己主动过滤NULL值
使用Newtonsoft.Json.dll 序列化为json时主动将NULL值过滤掉.详细做法: var jSetting = new JsonSerializerSettings {NullValu ...
- text输入框改变事件
前端页面开发的很多情况下都需要实时监听文本框输入,比如腾讯微博编写140字的微博时输入框hu9i动态显示还可以输入的字数.过去一般都使用onchange/onkeyup/onkeypress/onke ...
- 【u211】编码
Time Limit: 1 second Memory Limit: 128 MB [问题描述] 假设phi(W)得到是按照以下算法编码后的结果: 1. 如果W的长度为1那么phi(W)即为W: 2. ...
- SSH连接Linux的Server超时
SSH连接Linux的Server超时 http://blog.csdn.net/cheng830306/article/details/21796865
- kvm 虚拟化概述及 virt-manager 安装虚拟机
一.KVM定义 基于内核的虚拟机(英语:Kernel-based Virtual Machine,简称KVM),是一种用于Linux内核中的虚拟化基础设施. KVM眼下支持Intel VT及AMD-V ...
- Django---MVC设计模式
把数据存储逻辑.业务逻辑和表现逻辑组合在一起的概念被称为软件架构的 Model-View-Controller (MVC)模式. 在这个模式中, Model 代表数据存层,View 代表的是系统中选择 ...
- Ajax的get、post和ajax提交
JQuery.get(url,[data],[callback],[type]) []里面的参数是可选的,不是必填的. [data]:带发送的key/value数据. [callback]:载入成功时 ...
- web项目开启日志打印
原文链接:http://blog.csdn.net/qq_37936542/article/details/79045188 参考文章地址:点击打开链接,写的很清晰 一:导入log4j包或依赖 ...
- Erlang基础知识集锦
http://wenku.baidu.com/link?url=or-8mkUYUM0uVeqCYESGe93YIlh2IDLP7lFOwRlwr8Syf3PeHbwJC5DPCErs4NFrb1p4 ...