2014-04-06 36 views
0

我正在使用GlobalAssemblyVersion.cs文件來設置我所有項目的版本。該文件位於根解決方案文件夾中,並作爲鏈接包含在我的所有項目中。文件內容如下:Visual Studio 2013 AssemblyVersion「99.0。*」總是導致「99.0.0.0」

using System.Reflection; 
[assembly: AssemblyVersion("99.0.*")] 
[assembly: AssemblyFileVersion("99.0.*")] 
[assembly : AssemblyInformationalVersion("99.0 internal")] 

當我構建我的解決方案時,程序集版本始終設置爲「99.0.0.0」。我認爲Visual Studio應該用自午夜以來的最後兩個項目(構建版本/修訂版本)替換日期和秒數。

任何想法爲什麼這不起作用?這種行爲在VS2013中發生了變化還是我正在做的事情?

+0

據我記憶,Visual Studio使用的自動編號從來沒有真正意義上,或者至少對我沒有實際價值 我只是將所有本地開發設置爲XY0.0,並建立服務器腳本,爲構建版本和修訂版本號分配合理的值。 –

+0

同意,我也在構建服務器上這樣做,但這並不能回答我的問題。對我的程序集進行版本管理是有價值的正確。過去我曾做過這項工作,但我只是想知道爲什麼我現在無法開始工作。 –

+0

@Hans我想我錯過了你的觀點。 99值並不重要。重要的是自動遞增不工作,我需要知道爲什麼。我使用99來區分構建服務器上的私人構建版本和基於SemVer的版本號。 –

回答

1

AssemblyFileVersion不支持*。

更改爲閱讀:

using System.Reflection; 
[assembly: AssemblyVersion("99.0.*")] 
[assembly: AssemblyFileVersion("99.0.0.0")] 
[assembly: AssemblyInformationalVersion("99.0 internal")] 

要添加到此: 自動生成並修改數字並實際意義。 (請參閱MSDN Article

Build是自2000年1月1日以來的天數,Revision是自午夜(當地時間)以來的秒數除以2.給定任何自動遞增構建,您可以準確識別構建時間發生了什麼