VS下 C#项目使用SVN版本号
2016-09-10 13:13
267 查看
为了实现C#项目中的SVN版本控制,我找了许多资料,然后在实际使用中又简化了下,只需要一份模板文件以及VS项目中生成前后事件的一些设置即可。
在C#项目中,记录程序版本的是AssemblyInfo.cs文件。版本参数为:[assembly: AssemblyVersion()]和[assembly:AssemblyFileVersion()]。其中第二个参数决定了程序文件属性中的文件版本和产品版本。
为了实现版本控制,要设置一份模板文件。我们将AssemblyInfo.cs文件创建一份副本,并命名为AssemblyInfo.tpl,将其中的版本参数设置为[assembly:AssemblyVersion("1.0.0.$WCREV$)"],以及 [assembly:AssemblyFileVersion("1.0.0.$WCREV$")]。
在VS中,右键点击项目-》属性-》生成事件,在预先生成事件命令行中添加两行:
COPY /y "$(ProjectDir)Properties\AssemblyInfo.cs" “$(ProjectDir)Properties\AssemblyInfo.cs.bak" > NUL
"SubWCRev.exe" $(ProjectDir) "$(ProjectDir)Properties\AssemblyInfo.tpl" "$(ProjectDir)Properties\AssemblyInfo.cs" > NUL
同时在后期生成事件命令行中添加两行
COPY “$(ProjectDir)Properties\AssemblyInfo.cs.bak" "$(ProjectDir)Properties\AssemblyInfo.cs" >NUL
DEL /Q “$(ProjectDir)Properties\AssemblyInfo.cs.bak" 2>NUL
这几行命令就能解决版本写入的问题。它会将当前的SVN版本号写入到程序属性中。
之所以直接使用"SubWCRev.exe",是因为TortoiseSVN在安装后会自动写入环境变量,不需要再考虑环境变量的问题。
素材来自于http://www.cnblogs.com/NewIdea/p/AutoVersion.html,主要在他的基础上进行了简化。
在C#项目中,记录程序版本的是AssemblyInfo.cs文件。版本参数为:[assembly: AssemblyVersion()]和[assembly:AssemblyFileVersion()]。其中第二个参数决定了程序文件属性中的文件版本和产品版本。
为了实现版本控制,要设置一份模板文件。我们将AssemblyInfo.cs文件创建一份副本,并命名为AssemblyInfo.tpl,将其中的版本参数设置为[assembly:AssemblyVersion("1.0.0.$WCREV$)"],以及 [assembly:AssemblyFileVersion("1.0.0.$WCREV$")]。
在VS中,右键点击项目-》属性-》生成事件,在预先生成事件命令行中添加两行:
COPY /y "$(ProjectDir)Properties\AssemblyInfo.cs" “$(ProjectDir)Properties\AssemblyInfo.cs.bak" > NUL
"SubWCRev.exe" $(ProjectDir) "$(ProjectDir)Properties\AssemblyInfo.tpl" "$(ProjectDir)Properties\AssemblyInfo.cs" > NUL
同时在后期生成事件命令行中添加两行
COPY “$(ProjectDir)Properties\AssemblyInfo.cs.bak" "$(ProjectDir)Properties\AssemblyInfo.cs" >NUL
DEL /Q “$(ProjectDir)Properties\AssemblyInfo.cs.bak" 2>NUL
这几行命令就能解决版本写入的问题。它会将当前的SVN版本号写入到程序属性中。
之所以直接使用"SubWCRev.exe",是因为TortoiseSVN在安装后会自动写入环境变量,不需要再考虑环境变量的问题。
素材来自于http://www.cnblogs.com/NewIdea/p/AutoVersion.html,主要在他的基础上进行了简化。
相关文章推荐
- 在VS项目中使用SVN版本号作为编译版本号
- 在VS项目中使用SVN版本号作为编译版本号
- 利用VS的预生成事件获取SVN版本作为项目内部版本号
- c# -- 解决vs使用本地iis运行项目支持局域网访问的问题(附防火墙端口开放步骤)
- 使用SVN和VS2013新建web应用项目工程简易操作流程
- C#:通过Visual Studio项目预生成命令获取SVN版本号
- C#新手入门代码 VS2015使用技巧 dll之新建类库,添加类库至现有项目,实例化类库中的类
- VS中实时获取SVN的版本号并写入到AssemblyInfo.cs中(C#)
- 使用vs2005创建智能设备的C#和C++混合项目
- [导入]VS 2005中使用C#的新特性:可空类型
- [导入]VS 2005中使用C#的新特性:可空类型
- 在VS环境下使用SVN
- vs.net web项目使用visual source safe进行源代码管理
- VS 2005 Web Application Project 项目中Profile的使用方法[程序文档]
- vs.net web项目使用visual source safe进行源代码管理
- O/R Mapping 研究报告(5) --- 使用NHibernate进行开发--Vs 2005 C# (转自 飞鹰手记)
- 使用VS 2008创建启用了ASP.NET AJAX 1.0的新ASP.NET 2.0项目
- 在VS.NET内使用“从源代码管理打开”时出现无法读取项目文件的错误
- Vs.net web项目使用visual source safe进行源代码管理
- 使用vs2005创建智能设备的C#和C++混合项目