VS 生成 dll、exe 版本号与SVN版本号一致
1.VS 可自动生成版本号
注释掉以下两行代码
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]
使用以下代码即可自动生成版本号
[assembly: AssemblyVersion("1.0.*")] //内部修订版本号(第三个字段)的位置出现的是2000年1月1日到编译日期的天数,内部修订号(第四个字段)是当天从0点到当前时间的刻度数。
但是这样生成出来的版本号毫无意义
2.读取SVN提交的版本号作为dll版本号最后一位 如:1.0.0.SVN版本号
步骤:
第一步:将AssemblyInfo.cs文件复制两份分别取名为AssemblyInfo.template.cs、AssemblyInfo.template2.cs
第二步:AssemblyInfo.template2.cs文件内容不做任何修改,将AssemblyInfo.template.cs文件做如下修改
[assembly: AssemblyVersion("1.0.0.0")] //主版本号.次版本号.内部版本号.修订号
[assembly: AssemblyFileVersion("1.0.0.0")]
改为:
[assembly: AssemblyVersion("1.0.0.$WCREV$")] //$WCREV$ 获取SVN工作副本中最高的版本号
[assembly: AssemblyFileVersion("1.0.0.$WCREV$")] // $WCREV$ 获取SVN工作副本中最高的版本号
SubWCRev 程序关键字替换说明:http://tortoisesvn.net/docs/nightly/TortoiseSVN_zh_CN/tsvn-subwcrev-keywords.html

第三步:到SVN安装目录找到SubWCRev.exe放到Solution根目录下
第四步:在XX项目->属性->生成事件 做如下操作
1.在预先生成事件命令行 添加如下代码:
$(SolutionDir)\subwcrev.exe $(SolutionDir) $(ProjectDir)Properties\AssemblyInfo.template.cs $(ProjectDir)Properties\AssemblyInfo.cs
说明:通过Solution根目录下的subwcrev.exe 程序 将AssemblyInfo.template.cs 的内容替换到AssemblyInfo.cs
2.在后期生成事件命令行 添加如下代码:
$(SolutionDir)\subwcrev.exe $(SolutionDir) $(ProjectDir)Properties\AssemblyInfo.template2.cs $(ProjectDir)Properties\AssemblyInfo.cs
说明:通过Solution根目录下的subwcrev.exe 程序 将AssemblyInfo.template2.cs 的内容替换到AssemblyInfo.cs

第五步:生成项目
VS 生成 dll、exe 版本号与SVN版本号一致的更多相关文章
- C#:通过Visual Studio项目预生成命令获取SVN版本号
之前有一个winfrom项目,想要通过获取SVN版本号作为程序的内部编译版本号.网上也有各种方法,但没有一篇行得通的方法.于是我经过一系列研究,得出了一些经验,特总结成一篇博客. 方法一:通过SVN命 ...
- 工具——代码中自动生成SVN版本号
本节和大家讨论一下程序集版本最后一位使用SVN版本号的自动生成方法,这里就向大家简单介绍一下.在进行自动部署的时候,经常需要用脚本获取程序的最新版本号.现在我们定义每个程序集的版本信息的最末段表示SV ...
- spring boot 发布自动生成svn版本号
通过Jenkins构建发布spring boot项目时,常常有需求,需要把Svn的版本号更新到项目的版本上,通过有两种解决方案: 1. 通过shell命令对配置文件中的指定字符进行替换, 如: 配置文 ...
- 在VS项目中通过GIT生成版本号作为编译版本号
上一篇博客写了如何在 .Net 项目使用 SVN 作为版本控制工具时生成与代码对应的组件版本号.虽然在公司一直使用 SVN ,但我却对 GIT 情有独钟(可能要归功于那段捣鼓 ROM 的时光),但少有 ...
- 在VS项目中使用SVN版本号作为编译版本号
在实际项目中(特别是作为产品的项目),版本号是必不可少的一部分.版本号的规则也有许多种,在此不讨论具体的编码规范.对于迭代的产品,版本繁多,特别是有多个实施项目所使用产品的版本不同(基于定制需求)时, ...
- 开发日记:在VS项目中使用SVN版本号作为编译版本号
在实际项目中(特别是作为产品的项目),版本号是必不可少的一部分.版本号的规则也有许多种,在此不讨论具体的编码规范.对于迭代的产品,版本繁多,特别是有多个实施项目所使用产品的版本不同(基于定制需求)时, ...
- 在C++程序中自动加入svn版本号
原创文章,欢迎阅读,如果您想转载,请在第一行醒目注明原作者和原始链接. 为了方便追查和确认软件bug等问题,给软件或者库赋予版本号是个好办法. 最简单的版本号管理是记录编译时间: cout<&l ...
- SVN版本号打包脚本工具
做网页游戏开发的时候,经常会触及到对文件版本号的管理.最近由于做新项目的原因,把原来手写版本号的方法改进了一下,借由svn的版本号生成及用java写了个xml解析输出文件,把手动的东西都变成全自动. ...
- 自己主动化的在程序中显示SVN版本号
有时候会有这种情况,策划拿着应用过来提一个bug,但我们却不好确定策划的手机上装的应用相应的是那个代码版本号. 为了解决问题.我们希望能在应用上显示出当前应用所相应的代码版本号,即svn版本号. 构想 ...
随机推荐
- 【HTML5校企公益课】第三天
1.上午2D.旋转变色的... 基本思路就是先写静态画面然后添加动画. <!--告诉浏览器该文件为网页格式--> <html> <!--网页的头部标签--> ...
- html4与html5的区别
一.HTML5更加灵活,支持下列多种形式 1.标签名可以大写(不推荐) -<SpAN>这个HTML5也的认</SpAN> 2.属性双引号可选(推荐添加双引号) -<div ...
- 响应式Tab选项卡
在线演示 本地下载
- centos7下apache+tomcat整合
前提 在系统中已经安装好了jdk.tomcat.apache #本人博客中jdk安装连接 http://www.cnblogs.com/xhkj/p/6545111.html #本人博客中tomcat ...
- 求逆元 HDU 2516
A/B Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submiss ...
- Kruskal算法-最小生成树
2017-07-26 10:32:07 writer:pprp Kruskal算法是根据边的加权值以递增的方式,一次找出加权值最低的边来建最小生成树:并且每次添加的边不能造成生成树有回路,直到找到N ...
- Pandas级联
Pandas提供了各种工具(功能),可以轻松地将Series,DataFrame和Panel对象组合在一起. pd.concat(objs,axis=0,join='outer',join_axes= ...
- mysql数据库优化课程---12、mysql嵌套和链接查询
mysql数据库优化课程---12.mysql嵌套和链接查询 一.总结 一句话总结:查询user表中存在的所有班级的信息? in distinct mysql> select * from cl ...
- C++(十七) — 宏代码、内联函数
1.C++ 表达式返回值 返回引用:当函数返回引用类型时,没有复制返回值.相反,返回的是对象本身.(与之对应的C语言中,返回的是变量的值) C++中,表达式返回的是变量本身(也就是变量对应的地址). ...
- APP耗电量专项测试整理
Android: (使用batterystats) 方法: 手机自带的电量监控.GT 命令(5.0以上系统才可以): 1.下载historian.py脚本,下载地址:https://github.co ...