C# 編譯器解譯的組件層級屬性

大部分屬性會套用至特定語言項目 (例如類別或方法);不過,有些屬性是全域屬性,其套用至整個組件或模組。 例如,AssemblyVersionAttribute 屬性可以用來將版本資訊內嵌到組件,與下面類似:

[assembly: AssemblyVersion("1.0.0.0")]

全域屬性會出現在原始程式碼的任何最上層 using 指示詞後面,以及任何類型、模組或命名空間宣告前面。 全域屬性可以出現在多個原始程式檔中,但必須使用單一編譯階段編譯檔案。 Visual Studio 會將全域屬性新增至 .NET Framework 專案中的 AssemblyInfo.cs 檔案。 這些屬性不會新增至 .NET Core 專案。

組件屬性是提供組件相關資訊的值。 它們的分類如下:

  • 組件識別屬性
  • 資訊屬性
  • 組件資訊清單屬性

組件識別屬性

三個具有強式名稱 (如果適用) 的屬性會判斷組件的識別:名稱、版本與文化特性。 這些屬性會形成組件的完整名稱,且在程式碼中參考組件時需要用到。 您可以使用屬性來設定組件的版本和文化特性。 不過,名稱值乃是由編譯器、組件資訊對話方塊 中的 Visual Studio IDE 或在建立組件時的組件連結器 (Al.exe) 所設定。 組件名稱是以組件資訊清單為基礎。 AssemblyFlagsAttribute 屬性指定組件的多個複本是否可以並存。

下表顯示識別屬性。

屬性 目的
AssemblyVersionAttribute 指定組件的版本。
AssemblyCultureAttribute 指定組件所支援的文化特性。
AssemblyFlagsAttribute 指定是否支援在相同電腦上、相同處理程序中或相同應用程式定義域中並存執行組件。

資訊屬性

使用資訊屬性,以提供組件其他的公司或產品資訊。 下表顯示 System.Reflection 命名空間中定義的資訊屬性。

屬性 目的
AssemblyProductAttribute 指定組件資訊清單的產品名稱。
AssemblyTrademarkAttribute 指定組件資訊清單的商標。
AssemblyInformationalVersionAttribute 指定組件資訊清單的其他版本資訊。
AssemblyCompanyAttribute 指定組件資訊清單的公司名稱。
AssemblyCopyrightAttribute 定義自訂屬性,以指定組件資訊清單的版權。
AssemblyFileVersionAttribute 設定 Win32 檔案版本資源的特定版本號碼。
CLSCompliantAttribute 表示組件是否符合 Common Language Specification (CLS) 規範。

組件資訊清單屬性

您可以使用組件資訊清單屬性,在組件資訊清單中提供資訊。 屬性包括標題、描述、預設別名和組態。 下表顯示 System.Reflection 命名空間中定義的資訊清單屬性。

屬性 目的
AssemblyTitleAttribute 指定組件資訊清單的組件標題。
AssemblyDescriptionAttribute 指定組件資訊清單的組件描述。
AssemblyConfigurationAttribute 指定組件資訊清單的組件設定 (例如零售或偵錯)。
AssemblyDefaultAliasAttribute 定義組件資訊清單的易記預設別名。