我正在开发Visual Studio中的C#.net应用程序,我用版本的SVN控制版本。
我的问题是: 有没有办法可以链接我的主项目的汇编版本,例如:
[assembly: AssemblyVersion("2.2.3.4")]
to togoise SVN中的修订号。
以这种方式我可以直接查看修订版2.2.3.4,而不是检查出例如。修订版52(或任何修订版等于版本2.2.3.4)。
当我试图获得我的程序的特定版本时,这将使我更容易,因为我不必弄清楚SVN版本号等于我正在寻找的软件版本号。
由于
答案 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的日志,然后从那里查看。