如何在Visual Studio 2022中配置TortoiseSVN自动版本控制?
TortoiseSVN自动版本更新配置完整步骤(Visual Studio 2022)
问题背景
已编写包含SVN关键字的SvnRevision类并提交至仓库,但checkout/update后无法自动替换为实际版本信息,需通过SubWCRev工具完成关键字替换配置。
配置步骤
1. 准备模板与目标文件
- 将现有
SvnRevision.cs重命名为SvnRevision.Template.cs,保留以下内容(作为模板提交至仓库):public static class SvnRevision { /// <summary> /// SVN repo revision /// </summary> public const string REVISION = "$WCREV$"; /// <summary> /// SVN repo location /// </summary> public const string REPOSITORY_URL = @"$WCURL$"; /// <summary> /// SVN repo date /// </summary> public const string REPOSITORY_DATE = "$WCDATE$"; } - 创建空文件
SvnRevision.cs,右键该文件→TortoiseSVN→Add to ignore list,避免提交至仓库(该文件由工具自动生成)。
2. 配置Visual Studio预生成事件
- 右键项目→属性→切换到「生成事件」选项卡
- 在「预生成事件命令行」中输入:
参数说明:"C:\Program Files\TortoiseSVN\bin\SubWCRev.exe" "$(SolutionDir)" "$(ProjectDir)SvnRevision.Template.cs" "$(ProjectDir)SvnRevision.cs"- 第一个参数:工作副本根目录(
$(SolutionDir)对应解决方案根路径) - 第二个参数:模板文件的完整路径
- 第三个参数:生成的目标文件路径
- 第一个参数:工作副本根目录(
3. 自定义日期格式(可选)
若需指定日期显示格式,可修改模板中的$WCDATE$为带格式的关键字,例如:
public const string REPOSITORY_DATE = "$WCDATE{yyyy-MM-dd HH:mm:ss}$";
4. 提交与测试
- 将
SvnRevision.Template.cs提交至SVN仓库 - 其他用户checkout/update项目后,在Visual Studio中执行生成操作,SubWCRev会自动替换模板中的关键字,生成包含实际修订版本、仓库地址、更新日期的
SvnRevision.cs,程序可直接调用该类获取信息。
注意事项
- 确保团队成员的TortoiseSVN安装路径一致,若路径不同,需调整命令中的SubWCRev.exe路径,或复制该工具到项目目录使用相对路径。
- 预生成事件会在每次项目生成时自动执行,保证版本信息始终与工作副本同步。
内容的提问来源于stack exchange,提问作者Sqwirl
相关产品推荐
相关产品推荐

