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

Sig*_*d V 2 .net c# svn tortoisesvn version

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

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

    [assembly: AssemblyVersion("2.2.3.4")]
Run Code Online (Sandbox Code Playgroud)

到乌龟SVN的修订号.

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

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

谢谢

the*_*irt 6

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

namespace Versioning
{
    public static class VersionInfo
    {
        public const string Version = "2.2.3.$WCREV$";  
    }
}
Run Code Online (Sandbox Code Playgroud)

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

SubWCRev.exe "$(SolutionDir)\" "$(ProjectDir)Version.cs.tpl" "$(ProjectDir)Version.cs" -f
Run Code Online (Sandbox Code Playgroud)

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

[assembly: AssemblyVersion(Versioning.VersionInfo.Version)]
Run Code Online (Sandbox Code Playgroud)

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

似乎这也适用于您的帖子: 将Tortoise SVN版本号链接到汇编版本