2011-10-31 61 views
1

繼在AssemblyInfo.cs文件的生成系統意見建議:AssemblyVersion自動增加數字的含義是什麼?

// Version information for an assembly consists of the following four values: 
// 
//  Major Version 
//  Minor Version 
//  Build Number 
//  Revision 
// 
// You can specify all the values or you can default the Build and Revision Numbers 
// by using the '*' as shown below: 
// [assembly: AssemblyVersion("1.0.*")] 
[assembly: AssemblyVersion("1.0.0.0")] 
[assembly: AssemblyFileVersion("1.0.0.0")] 

我(只是用於測試)設置:

[assembly: AssemblyVersion("2.1.*")] 

建設後,我得到的版本號:2.1.4321.42563
然後,使小的變化,以AssemblyInfo.cs文件和建築一次後,我得到下一個版本:2.1.4321.42710

我wond ering什麼做所有這些數字(4321.42563; 4321.42710)是什麼意思? 系統產生它們的模式是什麼?

回答

4

4321 =自1月1日的天數2000
42563 =自午夜秒數/ 2

最終使得2011/10/31 11:38: 46下午。這是當地時間沒有夏令時調整。

+0

注圖案:[:的AssemblyVersion(「1.2 *」)組件],如果指定手動構建如果通配符構建和修訂即,這是唯一的真正並且只有通配符版本,即[assembly:AssemblyVersion(「1.2.15。*」)],你會得到一個隨機版本 – henon

+0

嗯,這是一個錯誤。不保證你得到一個獨特的版本號。對於易於在設定的時間間隔啓動構建的構建服務器尤其棘手。永遠不要這樣做。 –

2

構建編號表明它構建的那一天,修訂號是隨機的,但實際上,正如Hans指定的那樣。

您可以指定所有這些值,也可以使用星號()接受默認的內部版本 號,版本號,或兩者兼而有之。對於 例如,[組件:的AssemblyVersion(「2.3.25.1」)]表示2作爲 主要版本,3作爲次要版本,25爲版本號,和1 作爲修訂號。版本號例如 [組件:的AssemblyVersion(「1.2」)]指定1作爲主要版本, 2作爲次要版本,並接受默認構建和修訂 號碼。版本號例如 [組件:(「 1.2.15 *」)的AssemblyVersion]指定1作爲主要 版本,2作爲作爲構建數的次版本,15,並且接受 默認修訂號。 默認內部版本號每天增加 。默認版本號是隨機的。

來源:MSDN

+0

事實上,我的意見,認爲[組件:(「 1.2.15 *」)的AssemblyVersion]將導致一個隨機修訂號而[組件:的AssemblyVersion(「1.2 *」)]將導致確定性漢斯描述(自2000年建立=日以來午夜,轉速=雙秒) – henon