如果您使用的是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