如何将软件版本链接到乌龟svn修订版

时间:2013-07-18 02:06:57

标签: c# .net svn tortoisesvn version

我正在开发Visual Studio中的C#.net应用程序,我用版本的SVN控制版本。

我的问题是: 有没有办法可以链接我的主项目的汇编版本,例如:

    [assembly: AssemblyVersion("2.2.3.4")]

to togoise SVN中的修订号。

以这种方式我可以直接查看修订版2.2.3.4,而不是检查出例如。修订版52(或任何修订版等于版本2.2.3.4)。

当我试图获得我的程序的特定版本时,这将使我更容易,因为我不必弄清楚SVN版本号等于我正在寻找的软件版本号。

由于

2 个答案:

答案 0 :(得分:6)

使用以下内容将Version.cs.tpl文件添加到项目中:

namespace Versioning
{
    public static class VersionInfo
    {
        public const string Version = "2.2.3.$WCREV$";  
    }
}

为您的项目添加预构建事件:

SubWCRev.exe "$(SolutionDir)\" "$(ProjectDir)Version.cs.tpl" "$(ProjectDir)Version.cs" -f

构建项目。将在项目文件夹中创建Version.cs,将其添加到项目中。现在您可以像这样修改AssemplyInfo.cs:

[assembly: AssemblyVersion(Versioning.VersionInfo.Version)]

SubWCRev.exe是Tortoise程序文件夹(http://tortoisesvn.net/docs/release/TortoiseSVN_en/tsvn-subwcrev.html)中的工具。它应该是可访问的(例如,在PATH变量中设置)。现在每次修改项目时,它都会在构建后反映在程序集的版本中。

似乎这也适用于您的帖子: Linking Tortoise SVN revision number to assembly version

答案 1 :(得分:0)

为什么不使用版本号命名分支?

您可以使用tags并将每个标记命名为版本...但标记主要用于签名分支。

或者,您可以使用commit hook将版本号附加到每个提交消息,并搜索TortoiseSVN的日志,然后从那里查看。