1. 程式人生 > >.Net程式版本號的含義和版本控制機制

.Net程式版本號的含義和版本控制機制

.net程式版本號的格式是4端十進位制數字

比如

2.5.729.2

他們依次是

Major Number:主版本號

Minor Number:副版本號

這兩個號碼是對外的版本號,也就是說上面這個程式是2.5版的

Building Number:編譯版本號

比如如果一天編譯一次的話,那麼每天編譯版本號加一,上邊的程式經過了729天的開發。

Revision Number:再版版本號

比如某一天的一次編譯有重大的bug,在編譯就是這版本號加一。

所以後兩個版本號是內部版本號。

這是微軟公司使用的版本號模式,在開發中最好遵守。

程式設計時可以獲得的三個版本號及其區別:

使用Visual Studio 程式設計時,生成的AssembIyInfo.cs中可以加入以下資訊,並自動更新版本號。

AssemblyFileVersion

C#自定義屬性

[assembly: AssemblyFileVersion("1.0")]

AssemblyInformationalVersion

C#自定義屬性

[assembly: AssemblyInformationalVersion("1.0.*")]

CLR並不關心上面這兩個屬性,他們只是一個描述性的資訊,編譯後他們儲存在Win32 Version Resources中

AssemblyVersion

C#自定義屬性

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

當命名強型別的資料集時C#使用這個版本號,編譯後他被儲存在AssemblyDef manifest datable中

這個版本號是很重要的,他是一個程式集的唯一標識

同樣的當我們引用一個現有的.net程式集的時候,它的版本號被編譯到AssemblyRef table中,也就是說,只有能夠在指定的路徑找到指定的檔案而且他的版本號是正確的,.net程式才可以正常執行。引用程式集更換版本號,必須更新引用,並且重新編譯。這應該就是.net避免以往Win32程式'Dll Hell'的機制所在。

相關推薦

安卓獲取當前app版本(versionCode)版本名稱(versionName)

/** * 獲取當前app version code */ public static long getAppVersionCode(Context context) { long appVersionCode = 0; tr

.Net程式版本含義版本控制機制

.net程式版本號的格式是4端十進位制數字 比如 2.5.729.2 他們依次是 Major Number:主版本號 Minor Number:副版本號 這兩個號碼是對外的版本號,也就是說上面這個程式是2.5版的 Building Number:編譯版本號 比如如果一天編譯

Gradle自增版本開發版本——開發記錄

原因: 接手一個全新的專案,專案使用的技術點很新,熱修復,路由,開發語言kotlin,包括對gradle的使用,都是我之前很少接觸到的技術點。 參考: 參考:自增版本號,自動命名 記錄:自動命名 applicationVariants.all的使用。 你可以applicati

iOS 獲取程式~專案app名稱、版本、build版本

//聯絡人:石虎 QQ:1224614774 暱稱:嗡嘛呢叭咪哄 /**  1.圖形顯示  2.程式碼實現  3.下載 demo  */ 一、圖形展示 圖1: 圖2: 二、程式碼實現 // //  ViewController.m // 

崛起於Springboot2.X之版本含義說明(43)

摘要:很多時候使用IDEA的時候,建立一個springboot專案,pom檔案中的版本總是一直再更換,而不僅僅更換的是版本號,後面

瀏覽解析工具cz解析資料的瀏覽器 瀏覽器版本 作業系統 作業系統版本

解析工具類,呼叫第三方cz包 package com.sxt.etl.util; import java.io.IOException; import cz.mallat.uasparser.OnlineUpdater; import cz.mallat.uasparser.UA

利用Jenkins對git的版本打tag版本回滾

利用jenkins,從gitlab上拉取程式碼,然後釋出,如果想進行程式碼回退,其實還是程式碼釋出,拉取的時候,選擇合適的標籤。標籤在gitlab上提交程式碼的時候就已經搞定了。 給版本打標籤tag 在提交程式碼和版本的時候就提交tag: git commit -a -

檢視Eclipse版本及各個版本區別

1. 找到eclipse安裝目錄 2. 進入readme資料夾,開啟readme_eclipse.html 3. readme_eclipse.html呈現的第二行即數字版本號,如: Eclipse Project Release Notes Release 4

蘋果裝置、IOS版本、IOS版本編號大全

裝置號--IOS版本號--IOS版本編號 Apple TV 2G (4.1/8M89) Apple TV 2G (4.2.1/8C154) Apple TV 2G (4.3/8F191m) Apple TV 2G (4.4.2/9A336a) iPad (3.2/7B367

Linux系統中查詢發行版本以及核心版本的命令總結

瞭解Linux發行版本的版本號是一項非常重要的事情,大多數軟體對系統的版本都有要求,發行版本號與軟體不匹配,軟體將無法安裝或者無法使用.這邊集合市面上流行的Linux發行版本版本號查詢方法.有了這邊文章,老闆再也不擔心我裝錯軟體了呢一、發行版本號查詢1.Debian版本查詢:

在VS專案中使用SVN版本作為編譯版本

在生產專案中,版本號是必不可少的一部分。版本號的規則也有許多種,在此不討論具體的編碼規範。對於迭代的產品,版本繁多,特別是有多個實施專案所使用產品的版本不同(基於定製需求)時,清楚的標識元件與程式碼的對應關係十分重要。 本文主要說明如何在 .Net 專案使用 S

實現.Net程式中OpenTracing取樣上報配置的自動更新

前言 OpenTracing是一個鏈路跟蹤的開放協議,已經有開源的.net實現:opentracing-csharp,同時支援.net framework和.net core,Github地址:https://github.com/opentracing/opentracing-csharp。 這個庫支援多種

linux 程式、動態庫、靜態庫內部新增版本編譯時間

給程式和庫新增版本號和庫,有利於維護和升級。 當然你可以在檔名上體現,比如有個程式叫 yun,檔名寫為 yun_1.0.2,但這個需要每次手動維護,而且不能100%確保當前程式就是那個版本。所以,把版本號體現在程式內部,是一個不錯的選擇。 --------------------------

錯誤: 未能完成程式集的安裝(hr = 0x8007000b),.net程式關於使用Oracle.DataAccess.dll不同版本x86x64問題,即oracle odp.net 32位/64位版本的問題

如果你的機器上安裝了odp.net,且確信machine.config也有類似以下結節:(64位+.net 4.0環境下,machine.config可能會有4份,分別對應於.net2.0/4.0的32/64位版本,要每個都檢查過去哦) <DbProviderFactories>

C#如何設定程式名稱/版本圖示

在開啟的【屬性】視窗中,修改【程式集名稱】為需要的程式名稱【Listview示例程式】, 修改【預設名稱空間】名稱為本程式對應的標題名稱。 【程式集名稱】就是生成的程式檔案的名稱。 到這一步,程式的名稱修改完成,需要繼續修改圖示。

如何獲取應用程式版本版本名

實現獲取應用程式的版本號和阪本名,通過獲取包管理器開始;步驟如下: 程式如下 public class MainActivity extends AppCompatActivity { Co

程式中讀取ANDROID應用的程式名稱版本

在ANDROID應用中,我們經常會需要在應用的介紹和說明中顯示程式名稱和版本號。當然,我們可以用硬編碼的方式在程式碼中直接寫進去,但這樣每一次版本升級的時候都需要去更改,勢必不是很方便。那麼,怎麼讀取ANDROID應用的程式名稱和版本號呢? 其實很簡單,ANDROID系統

linux程式編譯期加入編譯時間svn版本

通常我們在程式開發時會加入版本查詢命令,如:“-v”,此時一般會顯示build版本,以及build日期等,因此如果每次編譯時能自動新增這些資訊的話,就非常方便了。 下面先說說新增時間的方法: 1.最簡單方式,程式碼中直接加入巨集 __TIME__和__DATE_

eclipse 各個版本含義下載

eclipse 的各個版本號: 版本號 代號 代號名 釋出日期 Eclipse 3.1 IO 木衛一,伊奧 2005 Eclipse 3.2 Callisto 木衛四,卡里斯托 2006 Eclips

應用程式的名稱版本等詳細資訊的獲取

應用程式的名稱和版本號等資訊都儲存在mainBundle的一個字典中,用下面程式碼可以取出來。 NSDictionary* infoDict =[[NSBundle mainBundle] infoDictionary]; NSString* version