2010-07-19 51 views
24

MSDN文檔:淨AssemblyName.version建立與修訂

版本號由兩到四個 成分:主要,次要,構建和 修訂。主要和次要 組件是必需的;版本和 修訂版組件是可選的,但如果定義 修訂版組件,則需要 版本組件。所有 定義的組件必須是整數 大於或等於0。

版本號的格式爲 如下(任選的組分顯示在方括號 ([和]): MAJOR.MINOR [。建[.revision]的 組件通過約定使用 如下:

  • 專業:大會名稱相同 但不同的主要版本是不 互換更高版本。數字可能表示產品的主要重寫 ,其中後向 兼容性無法假定。

  • 小調:如果兩個組件的名稱和主要 版本號是 相同,但次版本號 是不同的,這表明 與 有意向後兼容的顯著增強。 此較高次版本號可能爲 指示產品的點版本 或產品的完全向後兼容的新版本 版本。

  • 構建:構建號碼 中的差異表示重新編譯相同的源。當處理器,平臺, 或編譯器發生更改時,可能會使用不同的內部版本號 。

  • 修訂:組件具有相同 名,主要和次要版本號 但不同版本旨在 是完全互換。 版本中可能會使用更高版本的 版本,該版本可修復以前發佈的程序集中的安全漏洞。只有通過建立或修訂 數字不同的組件 的

後續版本被認爲是修補程序的早期版本 更新。

我的問題是有關含義的條款建設和修訂在這方面。

在我看來,一般來說,當源代碼發生變化時,我們會「建立」。因此,「build 678」和「build 679」不同,恰恰是,因爲源以某種方式不同 - 通常是由於簽入了一些更改的源。在我看來,.NET定義以通常使用「構建」的方式使用「修訂」。

有沒有人在他們的版本中使用上面的定義?如果是的話,你能舉出你爲什麼做的具體例子?

回答

19

後續版本被認爲是現有的修復程序的更新版。

本節介紹其差異。當您的產品發貨時,會使用「修訂版本」,並且您在進行更新時需要修正發貨版本。

例如1.1.10.0的船隻。我正在對功能進行一些小改動,當我收到需要修復的安全警報時,它的值爲1.1.20.0。我不能將1.1.10.0增加到1.1.11.0,因爲這代表了別的東西。所以我使用1.1.10.1來識別它是1.1.10.0代碼的修訂版本。

希望這比泥漿更清楚些。還要記住公司的規模以及他們發佈的軟件項目的規模,並提出這些定義。

+6

需要明確的是,當您使用修訂版本時,內部版本號是您正在修改的版本號,而不是修訂版的內部版本......這可能會導致我更喜歡... – PaoloFCantoni 2010-07-19 09:09:18

1

我完全同意你的意見。除非你用一點鹽來解釋它們,否則給出的描述沒有多大意義。對我而言,最後一個版本號應該表示版本,即在每個編譯中得到更新的編號。其他數字代表軟件/ API的不同程度變化。

實際上,這是通常如何使用版本號。 (當然,我怎麼使用它們。)

  • 主要 - 上升時的軟件更改功能設置/ API顯著

  • - 上升時顯着的更改,輕微API新功能的更改或添加

  • 構建 - 在進行小的更改時會增加,通常會進行錯誤修復和改進(儘管沒有API更改)

  • 修訂 - 一個唯一的ID /數字,表示構建實例僅通過構建或修訂號不同的組件的

+14

對不起,你能完成迴應嗎? – PaoloFCantoni 2010-07-21 07:02:04