如果您使用的是MSBuild,我鼓励您安装可安装nuget的msbuildtasks(https://github.com/loresoft/msbuildtasks)。
一旦你这样做了,它会在你的解决方案的根目录下生成一个build.proj,你可以创建你自己的版本文件来管理版本信息。
它支持使用MS的建立和修订版本属性,而且还可以压倒一切的开始日期
我做了一个主要和次要版本的文件,并把它们在最初
<VersionFile Condition=" '$(VersionFile)' == '' ">$(MsBuildProjectDirectory)\VersionMajor.txt</VersionFile>
<VersionSuffixFile Condition=" '$(VersionSuffixFile)' == '' ">$(MsBuildProjectDirectory)\VersionMinor.txt</VersionSuffixFile>
在这些文件我只是有数字2和数字1(分别)
然后,我创建了另一个文件,其中包含完整版本号(其中结果有效地)作为version.txt。它包含了2.1.0.0
然后,在我的任务的实际构建我加
<Version VersionFile=".\Version.txt" BuildType="Automatic" RevisionType="BuildIncrement" StartDate="2015-01-01">
<Output TaskParameter="Build" PropertyName="Build" />
<Output TaskParameter="Revision" PropertyName="Revision" />
</Version>
这给了我一个建立和修订参数在其他地方使用。
当装配信息写入我使用它们像这样:
AssemblyVersion="$(Version).$(VersionSuffix).$(Build).$(Revision)"
AssemblyFileVersion="$(Version).$(VersionSuffix).$(Build).$(Revision)"
呯!我有很好的版本。我自己管理我的主要和次要的(我将切换到使用也是2的git分支。1和哪些buildtasks可以拉动),并且构建以自StartDate(我在创建分支时设置的天数)以及每个构建的修订自动增量之后的天数递增,并在构建重置为0时重置为0.
你可以看到更多的,如果你看一下buildtasks源代码在GitHub上:https://github.com/loresoft/msbuildtasks/blob/master/Source/MSBuild.Community.Tasks/Version.cs
你会发现它,你可以重写的起始日期到任何日期你想,或者将其设置为自动,并有它会在每个版本上增加。如果您查看帖子底部的链接,您会发现可以将各种不同的参数传递给BuildType,以不同的方式增加它。 或者,你甚至可以在一个文件和插槽中有价值。可能性是无限的。 – 2015-05-01 17:08:02
@Michal Cooper:谢谢你的信息 – 2015-05-01 18:39:26