設定組件屬性

組件屬性是提供組件相關資訊的值。 屬性可分成下列幾組資訊:

  • 組件識別屬性
  • 資訊屬性
  • 組件資訊清單屬性
  • 強式名稱屬性

提示

本文的範圍是從程式碼新增元件屬性。 如需將元件屬性新增至專案的詳細資訊, (不在程式碼) 中,請參閱.NET SDK 專案的MSBuild參考:元件屬性。

組件識別屬性

三個屬性連同強式名稱 (如果適用) 會判斷組件的識別:名稱、版本與文化特性。 這些屬性會形成組件的完整名稱,且在參考程式碼中的組件時會需要用到。 您可以使用屬性來設定組件的版本和文化特性。 編譯器或 組件連結器 (Al.exe) 會在建立組件時,以包含組件資訊清單的檔案為基礎來設定名稱值。

下表說明版本與文化特性屬性。

組件識別屬性 說明
AssemblyCultureAttribute 列舉的欄位,會指出組件所支援的文化特性。 組件也可以指定文化特性獨立性,表示其包含預設文化特性的資源。 注意: 執行時間會將未將文化特性屬性設定為 Null 的任何元件視為附屬元件。 這類組件會受限於附屬組件繫結規則。 如需詳細資訊,請參閱 執行時間如何找出元件
AssemblyFlagsAttribute 此值用以設定組件屬性,例如組件是否可並存執行。
AssemblyVersionAttribute 格式為 major.minor.build.revision 的數值 (例如 2.4.0.0)。 通用語言執行平台會使用此值來執行強式名稱組件中的繫結作業。 注意:AssemblyInformationalVersionAttribute如果屬性未套用至元件,則 、 和 Application.UserAppDataRegistry 屬性會使用 Application.ProductVersionApplication.UserAppDataPath 屬性所 AssemblyVersionAttribute 指定的版本號碼。

下列程式碼範例顯示如何將版本與文化特性屬性套用至組件。

// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")];
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")];
// Set version number for the assembly.
[assembly:AssemblyVersionAttribute("4.3.2.1")]
// Set culture as German.
[assembly:AssemblyCultureAttribute("de")]
' Set version number for the assembly.
<Assembly:AssemblyVersionAttribute("4.3.2.1")>
' Set culture as German.
<Assembly:AssemblyCultureAttribute("de")>

資訊屬性

您可以使用資訊屬性,以提供組件其他的公司或產品資訊。 下表說明可套用至組件的資訊屬性。

資訊屬性 Description
AssemblyCompanyAttribute 此字串值指定公司名稱。
AssemblyCopyrightAttribute 此字串值指定著作權資訊。
AssemblyFileVersionAttribute 此字串值指定 Win32 檔案版本號碼。 這通常會預設為組件版本。
AssemblyInformationalVersionAttribute 此字串值指定的版本資訊不為通用語言執行平台所用,例如完整的產品版本號碼。 注意: 如果這個屬性套用至元件,則可以使用 屬性在 Application.ProductVersion 執行時間取得它指定的字串。 字串也會在 Application.UserAppDataPathApplication.UserAppDataRegistry 屬性所提供的路徑及登錄機碼中使用。
AssemblyProductAttribute 此字串值指定產品資訊。
AssemblyTrademarkAttribute 此字串值指定商標資訊。

這些屬性可以出現在元件的 [Windows 屬性] 頁面上,或者可以使用/win32res編譯器選項覆寫這些屬性來指定您的 Win32 資源檔。

組件資訊清單屬性

您可以使用組件資訊清單屬性,在組件資訊清單中提供資訊,包括標題、描述、預設別名以及設定。 下表說明組件資訊清單屬性。

組件資訊清單屬性 說明
AssemblyConfigurationAttribute 此字串值表示組件的設定,例如 Retail 或 Debug。 執行階段不使用此值。
AssemblyDefaultAliasAttribute 此字串值指定可供參考組件使用的預設別名。 此值會在組件本身的名稱不容易記時 (例如 GUID 值) 提供易記名稱。 也可以使用此值作為完整組件名稱的簡短形式。
AssemblyDescriptionAttribute 此字串值指定簡短描述,該描述彙總組件的本質與用途。
AssemblyTitleAttribute 此字串值指定組件的易記名稱。 例如,名為 comdlg 的元件可能有 Microsoft Common Dialog Control 標題。

強式名稱屬性

您可以使用強式名稱屬性來設定組件的強式名稱。 下表說明強式名稱屬性。

強式名稱屬性 描述
AssemblyDelaySignAttribute 此布林值表示正在使用延遲簽章。
AssemblyKeyFileAttribute 此字串值表示檔案名稱,該檔案包含公開金鑰 (如果使用延遲簽章) 或公開與私密金鑰,而金鑰以參數形式傳遞至該屬性的建構函式。 請注意,檔案名相對於輸出檔案路徑 (.exe.dll) ,而不是原始程式檔路徑。
AssemblyKeyNameAttribute 表示內含金鑰組的金鑰容器,而該金鑰組以參數形式傳遞至該屬性的建構函式。

下列程式碼範例顯示使用延遲簽署來建立具有名為 myKey.snk之公開金鑰檔案的強式名稱元件時所套用的屬性。

[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>

另請參閱