使用 AssemblyVersion 和 AssemblyFileVersion 屬性

本文介紹如何在AssemblyInfo.cs檔案中使用 AssemblyVersionAssemblyFileVersion 屬性。

原始產品版本:.NET Framework
原始 KB 編號: 556041

摘要

AssemblyInfo.cs提供兩個屬性來設定兩種不同類型的版本。 此提示顯示如何使用這兩個屬性。

Microsoft .NET Framework 可讓您將兩種不同類型的版本號碼設定為每個元件。

AssemblyVersion

這是架構在建置期間和運行時間用來尋找、連結和載入元件的版本號碼。 當您將參考新增至專案中的任何元件時,會是內嵌的這個版本號碼。 在運行時間,Common Language Runtime (CLR) 尋找要載入此版本號碼的元件。 但請記住,只有在元件具有強名稱簽署時,才會使用此版本以及名稱、公鑰令牌和文化特性資訊。 如果元件不是強名稱的帶正負號,則只會使用檔名來載入。

AssemblyFileVersion

這是文件系統中提供給檔案的版本號碼。 它是由 Windows 檔案總管顯示,且永遠不會由 .NET Framework 或運行時間用來參考。

AssemblyInfo.cs中的屬性

// Version information for an assembly consists of the following four values:
// Major Version
// Minor Version
// Build Number
// Revision
[assembly: AssemblyVersion("1.0.0.0")]  
[assembly: AssemblyFileVersion("1.0.0.0")]

提供 (*) 來取代絕對數目,可讓編譯程式在每次建置時增加一個數位。

假設您要為專案建置架構元件,供許多開發人員在建置應用程式元件時使用。 如果您經常發行新版本的元件,例如每天發行一次,而且如果元件是強名稱,開發人員就必須在每次發行新元件時變更參考。 這可能很麻煩,而且也可能導致參考錯誤。 在這類封閉群組和變動性案例中,較佳的選項是只修正 AssemblyVersion 並變更 AssemblyFileVersion。 使用元件檔案版本號碼來傳達最新版的元件。 在此情況下,開發人員不需要變更參考,而且可以在參考路徑中覆寫元件。 在中央或最終版本組建中,變更 AssemblyVersion 更合理,而且最適合與元件版本保持 AssemblyFileVersion 相同。