在程式碼中設定組件屬性
組件屬性是提供組件相關資訊的值。 這些屬性通常會設定在 AssemblyInfo.cs 檔案中。 屬性可分成下列幾組資訊:
- 組件識別屬性
- 資訊屬性
- 組件資訊清單屬性
- 強式名稱屬性
本文的範圍是從程式碼新增組件屬性。 如需將組件屬性新增至專案 (非程式碼中) 的資訊,請參閱在專案檔案中設定組件屬性。
組件識別屬性
三個屬性連同強式名稱 (如果適用) 會判斷組件的識別:名稱、版本與文化特性。 這些屬性會形成組件的完整名稱,且在參考程式碼中的組件時會需要用到。 您可以使用屬性來設定組件的版本和文化特性。 編譯器或 組件連結器 (Al.exe) 會在建立組件時,以包含組件資訊清單的檔案為基礎來設定名稱值。
下表說明版本與文化特性屬性。
組件識別屬性 | 描述 |
---|---|
AssemblyCultureAttribute | 列舉的欄位,會指出組件所支援的文化特性。 組件也可以指定文化特性獨立性,表示其包含預設文化特性的資源。 注意:執行階段會將任何未將文化特性屬性設為 null 的組件作為附屬組件。 這類組件會受限於附屬組件繫結規則。 如需詳細資訊,請參閱執行階段如何找出組件。 |
AssemblyFlagsAttribute | 此值用以設定組件屬性,例如組件是否可並存執行。 |
AssemblyVersionAttribute | 格式為 major.minor.build.revision 的數值 (例如 2.4.0.0)。 通用語言執行平台會使用此值來執行強式名稱組件中的繫結作業。 注意:如果 AssemblyInformationalVersionAttribute 屬性未套用到組件,則 AssemblyVersionAttribute 屬性所指定的版本號碼會由 Application.ProductVersion、Application.UserAppDataPath 與 Application.UserAppDataRegistry 屬性所使用。 |
下列程式碼範例顯示如何將版本與文化特性屬性套用至組件。
// 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")>
資訊屬性
您可以使用資訊屬性,以提供組件其他的公司或產品資訊。 下表說明可套用至組件的資訊屬性。
資訊屬性 | 描述 |
---|---|
AssemblyCompanyAttribute | 此字串值指定公司名稱。 |
AssemblyCopyrightAttribute | 此字串值指定著作權資訊。 |
AssemblyFileVersionAttribute | 此字串值指定 Win32 檔案版本號碼。 這通常會預設為組件版本。 |
AssemblyInformationalVersionAttribute | 此字串值指定的版本資訊不為通用語言執行平台所用,例如完整的產品版本號碼。 注意:如果這個屬性會套用至組件,則其所指定的字串可以在執行階段透過使用 Application.ProductVersion 屬性加以取得。 字串也會在 Application.UserAppDataPath 與 Application.UserAppDataRegistry 屬性所提供的路徑及登錄機碼中使用。 |
AssemblyProductAttribute | 此字串值指定產品資訊。 |
AssemblyTrademarkAttribute | 此字串值指定商標資訊。 |
這些屬性可以出現在組件的 Windows 內容頁面上,或可以使用 /win32res 編譯器選項加以覆寫,以指定您的 Win32 資源檔。
組件資訊清單屬性
您可以使用組件資訊清單屬性,在組件資訊清單中提供資訊,包括標題、描述、預設別名以及設定。 下表說明組件資訊清單屬性。
組件資訊清單屬性 | 描述 |
---|---|
AssemblyConfigurationAttribute | 此字串值表示組件的設定,例如 Retail 或 Debug。 執行階段不使用此值。 |
AssemblyDefaultAliasAttribute | 此字串值指定可供參考組件使用的預設別名。 此值會在組件本身的名稱不容易記時 (例如 GUID 值) 提供易記名稱。 也可以使用此值作為完整組件名稱的簡短形式。 |
AssemblyDescriptionAttribute | 此字串值指定簡短描述,該描述彙總組件的本質與用途。 |
AssemblyTitleAttribute | 此字串值指定組件的易記名稱。 例如,名為 comdlg 的組件可能會以「Microsoft 通用對話方塊控制項」作為標題。 |
強式名稱屬性
您可以使用強式名稱屬性來設定組件的強式名稱。 下表說明強式名稱屬性。
強式名稱屬性 | 描述 |
---|---|
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)>