您的位置:首页 > 编程语言 > C#

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,主要在他的基础上进行了简化。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息