Impostare gli attributi di un assembly nel codice
Gli attributi dell'assembly sono valori che forniscono informazioni relative a un assembly. In genere vengono impostati in un file AssemblyInfo.cs. Tali attributi sono suddivisi nei seguenti gruppi di informazioni:
- Attributi relativi all'identità dell'assembly
- Attributi informativi
- Attributi relativi al manifesto dell'assembly
- Attributi relativi al nome sicuro
Questo articolo ha come ambito l'aggiunta di attributi di assembly dal codice. Per altre informazioni sull'aggiunta di attributi di assembly a progetti (non nel codice), vedere Impostare gli attributi di un assembly in un file di progetto.
Attributi relativi all'identità dell'assembly
Tre attributi, insieme a un nome sicuro (se disponibile), consentono di determinare l'identità di un assembly: il nome, la versione e le impostazioni cultura. Il nome completo dell'assembly è costituito da questi attributi, che risultano necessari per creare riferimenti all'assembly nel codice. È possibile usare gli attributi per impostare la versione e le impostazioni cultura di un assembly. Il valore relativo al nome viene impostato dal compilatore o da Assembly Linker (Al.exe) quando l'assembly viene creato ed è basato sul file contenente il manifesto dell'assembly.
Nella tabella seguente vengono descritti gli attributi relativi alla versione e alle impostazioni cultura.
Attributi relativi all'identità dell'assembly | Descrizione |
---|---|
AssemblyCultureAttribute | Campo elenco in cui vengono indicate le impostazioni cultura supportate dall'assembly. È possibile specificare anche l'indipendenza dalle impostazioni cultura per l'assembly, indicando che nell'assembly sono presenti le risorse per le impostazioni cultura predefinite. Nota: tutti gli assembly il cui attributo "Culture" non è impostato su Null vengono considerati dal runtime come assembly satellite. e sono soggetti alle regole di associazione degli assembly satellite. Per altre informazioni, vedere Modalità di individuazione di assembly del runtime. |
AssemblyFlagsAttribute | Valore che consente di impostare gli attributi relativi all'assembly, indicando ad esempio se è consentita l'esecuzione affiancata di più versioni. |
AssemblyVersionAttribute | Valore numerico in formato principale.secondario.build.revisione (ad esempio, 2.4.0.0). Questo valore viene usato da Common Language Runtime per eseguire operazioni di associazione in assembly con nome sicuro. Nota: se l'attributo AssemblyInformationalVersionAttribute non viene applicato a un assembly, il numero di versione specificato dall'attributo AssemblyVersionAttribute viene usato dalle proprietà Application.ProductVersion, Application.UserAppDataPath e Application.UserAppDataRegistry. |
Nel seguente esempio di codice viene mostrato come applicare a un assembly gli attributi relativi alla versione e alle impostazioni cultura.
// 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")>
Attributi informativi
Gli attributi informativi consentono di fornire informazioni aggiuntive relative alla società o al prodotto per un assembly. Nella tabella seguente vengono descritti gli attributi informativi che è possibile applicare a un assembly.
Attributo informativo | Descrizione |
---|---|
AssemblyCompanyAttribute | Valore stringa in cui viene specificato un nome di società. |
AssemblyCopyrightAttribute | Valore stringa in cui vengono specificate informazioni relative al copyright. |
AssemblyFileVersionAttribute | Valore stringa in cui viene specificato il numero di versione del file Win32. L'impostazione predefinita è solitamente la versione dell'assembly. |
AssemblyInformationalVersionAttribute | Valore stringa in cui vengono specificate informazioni relative alla versione non usate da Common Language Runtime, quale il numero di versione del prodotto completo. Nota: se questo attributo viene applicato a un assembly, è possibile ottenere la stringa specificata in fase di esecuzione tramite la proprietà Application.ProductVersion. La stringa viene usata anche nel percorso e nella chiave del Registro di sistema specificati dalle proprietà Application.UserAppDataPath e Application.UserAppDataRegistry. |
AssemblyProductAttribute | Valore stringa in cui vengono specificate informazioni relative al prodotto. |
AssemblyTrademarkAttribute | Valore stringa in cui vengono specificate informazioni relative al marchio registrato. |
È possibile visualizzare questi attributi nella pagina delle proprietà di Windows dell'assembly o eseguirne l'override usando l'opzione del compilatore /win32res per specificare un file di risorsa Win32 personalizzato.
Attributi relativi al manifesto dell'assembly
Gli attributi relativi al manifesto dell'assembly consentono di fornire informazioni nel manifesto dell'assembly, inclusi il titolo, la descrizione, l'alias predefinito e la configurazione. Nella tabella seguente vengono descritti gli attributi relativi al manifesto dell'assembly.
Attributo relativo al manifesto dell'assembly | Descrizione |
---|---|
AssemblyConfigurationAttribute | Valore stringa che indica la configurazione dell'assembly, ad esempio finale o di debug. Questo valore non viene usato da Common Language Runtime. |
AssemblyDefaultAliasAttribute | Valore stringa in cui viene specificato l'alias predefinito che verrà usato dagli assembly contenenti riferimenti all'assembly corrente. Questo valore consente di fornire un nome descrittivo nel caso in cui il nome dell'assembly non sia descrittivo, ma corrisponda ad esempio a un valore GUID. È inoltre possibile usare questo valore come forma abbreviata del nome completo dell'assembly. |
AssemblyDescriptionAttribute | Valore stringa in cui viene specificata una breve descrizione che riassume la natura e lo scopo dell'assembly. |
AssemblyTitleAttribute | Valore stringa in cui viene specificato un nome descrittivo per l'assembly. È ad esempio possibile che il titolo di un assembly denominato comdlg sia Controllo della finestra di dialogo comune Microsoft. |
Attributi relativi al nome sicuro
Gli attributi relativi al nome sicuro consentono di impostare un nome sicuro per un assembly. Nella tabella seguente vengono descritti gli attributi relativi al nome sicuro.
Attributo con nome sicuro | Descrizione |
---|---|
AssemblyDelaySignAttribute | Valore booleano che indica che viene usato il ritardo della firma. |
AssemblyKeyFileAttribute | Valore stringa che indica il nome del file contenente la chiave pubblica (se si usa il ritardo della firma) o la chiave pubblica e privata passate come parametro al costruttore di questo attributo. Si noti che il nome del file è relativo al percorso del file di output (il file con estensione exe o dll), non al percorso del file di origine. |
AssemblyKeyNameAttribute | Indica il contenitore di chiave contenente la coppia di chiavi passata come parametro al costruttore dell'attributo. |
L'esempio di codice seguente illustra gli attributi da applicare quando si usa il ritardo della firma per creare un assembly con nome sicuro con un file di chiave pubblica denominato myKey.snk.
[assembly:AssemblyKeyFileAttribute("myKey.snk")];
[assembly:AssemblyDelaySignAttribute(true)];
[assembly:AssemblyKeyFileAttribute("myKey.snk")]
[assembly:AssemblyDelaySignAttribute(true)]
<Assembly:AssemblyKeyFileAttribute("myKey.snk")>
<Assembly:AssemblyDelaySignAttribute(True)>