我们有一个威克斯安装一个C#解决方案和一个MSBuild构建脚本。 我们正处在从迁移到SVN混帐的过程。
由于我们的版本号的第四部分,我们想要的东西,随着每个构建上升。 到现在为止,我们已经使用了SVN版本号。 该脚本的MSBuild定义的ProductVersion属性,其中包括SVN版本号作为最后四个数字的内部版本的。 但是,我们不能使用了,因为我们将不使用SVN了。
我一直试图找到为SVN版本号的替代品,但我想不出用什么。
詹金斯提供,我可以用一个版本号,但我不希望我们的版本系统配合詹金斯。
詹金斯还提供了一个时间戳,但它并没有与微软的版本号的限制规定:这是字母数字和类长,而在版本4号应该为0至65535之间的整数。
我们可以的AssemblyVersion设置为1.0。*,让.NET填写休息。 这适用于我们的组件,但我不能找到一种方法来注入维克斯这一点。 一旦它的建成,我们可以从组件之一取水的时候,但我们的MSBuild脚本使用
<MSBuild>
任务建立在一次完整的解决方案,所以我们坚持在一个catch-22,我们需要运行<MSBuild>
等等它可以编译,我们可以用它来获取生成的版本号的组件,但为了运行<MSBuild>
我们首先需要有一个编译器组件,使我们可以从它取所生成的版本号。我可以添加在编译的东西(什么)的文件的MSBuild一个单独的目标,并从版本号,然后做的实际调用
<MSBuild>
任务。 但是,这只是感觉不对。
同样,我真的不关心的数字是什么,只要它每次构建递增。 基于时间戳的东西就可以了。 有任何想法吗?