visual-studio - 如何在 Visual Studio 构建中设置 Subversion 修订号

标签 visual-studio svn msbuild build

我想在我的 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/

相关文章:

c++ - 混合 VS2012 平台工具集

shell - 管道shell输出到svn del命令?

visual-studio - AnkhSvn 不向 SVN 添加文件

tfs - 如何让 Team Build 显示 xUnit.net 测试套件的测试结果和覆盖率?

.net - 是否可以在 MSBuild 中计数?

visual-studio - 如何(实际上)在 MonoTouch 中重用现有的 .NET 库

c++ - 通过 constexpr union 进行类型双关

sql - SSMS 2008 中的#region 功能

svn - 如何将工作副本中的文件恢复为旧版本,然后将其提交回存储库?

.net - 在 MSBuild 中生成版本号