You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 06:25:17