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版本号. 构想 ...
随机推荐
- 【Java】Swing+IO流实现一个简单的文件加密程序(demo版)
留着参考 EncrytService package com.my.service; import java.io.File; import java.io.FileInputStream; impo ...
- 【c++习题】【17/4/13】stack
1.stack 模板.动态内存分配.析构 #include "stack2.cpp" #include <iostream> using namespace std; ...
- 【Flask】WTForms文件上传下载
# 文件上传笔记:1. 在模版中,form表单中,需要指定`encotype='multipart/form-data'`才能上传文件.2. 在后台如果想要获取上传的文件,那么应该使用`request ...
- Python数据处理实例
使用python进行数据处理的实例(数据为某公司HR部门关于员工信息的部分摘录,kaggle上面的一次赛题) https://www.kaggle.com/c/kfru-dbm-hr-analytic ...
- Oracle 伪列
ROWNUM ROWNUM:表示行号,实际上此是一个列,但是这个列是一个伪列,此列可以在每张表中出现. 范例:在查询雇员表上,加入 ROWNUM SELECT ROWNUM,empno,ename,j ...
- [HAOI2007]反素数ant
1053: [HAOI2007]反素数ant Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 1907 Solved: 1069[Submit][St ...
- 判断当前html是否在微信中打开
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name ...
- 20 个 OpenSSH 最佳安全实践
来源:https://linux.cn/article-9394-1.html OpenSSH 是 SSH 协议的一个实现.一般通过 scp 或 sftp 用于远程登录.备份.远程文件传输等功能.SS ...
- mysql全库搜索指定字符串
mysql全库搜索指定字符串 DELIMITER // DROP PROCEDURE IF EXISTS `proc_FindStrInAllDataBase`; # CALL `proc_FindS ...
- LOJ 一本通一句话题解系列:
第一部分 基础算法 第 1 章 贪心算法 1):「一本通 1.1 例 1」活动安排:按照结束时间排序,然后扫一遍就可以了. 2):「一本通 1.1 例 2」种树:首先要尽量的往区间重叠的部分种树,先按 ...