我想在AssemblyFileVersion属性中使用当前的Subversion修订版号在最终编译的dll中使用它。
我已经使用部署脚本中的MsBuild Community Task library来读取版本号并更新AssemblyInfo - 这有点起作用,但是 ......
当我有一个更新的项目和当前的revsion编号时,例如100。我运行脚本,这将更新AssemblyInfo和一个100作为属性的最终dll。当我检查这些新的AssemblyInfo文件时,我将获得一个新的revsion编号(101)。
问题在于,如果我看到一个带有特定转速的dll,并且喜欢重建那个dll,我需要的实际转速实际上就是转换后的那个我看到的......
如何改进这个过程?
答案 0 :(得分:2)
是否可以使用RCS Keywords?
其中一个关键字是$Revision$
。这会自动扩展为$Revision:xxx$
,其中xxx
是每次执行svn checkout
或svn update
时的Subversion版本号。
您必须在程序集文件中设置属性svn:keywords
才能使其正常工作:
$ svn propset svn:keywords Revision Assembly.cs
我一直这样做,但是对于运行我们的连续构建软件的构建服务器。这需要一些设置,但它会自动构建软件,设置正确的版本号,甚至在每次有人提交时部署软件。
顺便说一句,我认为你使用AnkhSVN作为VisualStudio的Subversion集成。