我想在我的 AssemblyFileVersion 属性中使用当前的 Subversion 修订号,以便在最终编译的 dll 中使用它。

我已经使用部署脚本中的 MsBuild Community Task library 来读取修订号并更新 AssemblyInfo - 这有点有效,但是......

当我有一个更新的项目和当前的修订号时,比如说 100。我运行脚本,这将更新 AssemblyInfo 和一个最终的 dll,其中 100 作为属性。当我检查这些新的 AssemblyInfo 文件时,我会得到一个新的修订号 (101)。

那么问题是,如果我看到一个具有特定版本号的 dll 并且想要重建该 dll,我需要的实际版本实际上是我看到的版本号之后的那个......

如何改进这个过程?

最佳答案

是否可以使用 RCS Keywords

关键字之一是 $Revision$ 。这会自动扩展为 $Revision:xxx$ ,其中 xxx 是每次执行 svn checkoutsvn update 时的 Subversion 修订号。

您必须在程序集文件上设置属性 svn:keywords 才能使其正常工作:

$ svn propset svn:keywords Revision Assembly.cs

我一直这样做,但对于运行我们的持续构建软件的构建服务器。这需要一些设置,但它会自动构建软件,设置正确的版本号,甚至在每次有人提交时部署软件。

顺便说一句,我认为您正在使用 AnkhSVN 作为 VisualStudio 的 Subversion 集成。

关于visual-studio - 如何在 Visual Studio 版本中设置 Subversion 修订号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7505538/

10-13 05:09