A cosa serve AssemblyInfo.cs?


113

La mia domanda è piuttosto semplice. Quello che vorrei sapere è a cosa serve il file AssemblyInfo.cs?


Ma ricorda che questo numero di versione viene usato insieme al nome, al token della chiave pubblica e alle informazioni sulla cultura solo se gli assembly sono firmati con nome sicuro. Se gli assembly non sono firmati con nome sicuro, per il caricamento vengono utilizzati solo i nomi di file.
Karl SoCal

Risposte:


83

AssemblyInfo.cs contiene informazioni sull'assembly, come nome, descrizione, versione, ecc. È possibile trovare ulteriori dettagli sul suo contenuto leggendo i commenti in esso inclusi.

Se lo elimini, l'assembly verrà compilato senza informazioni, ovvero nella scheda Dettagli delle proprietà del file non vedrai nessun nome, nessuna descrizione, versione 0.0.0.0, ecc.

Il valore associato all'assembly: Guid è l'ID che identificherà l'assembly se verrà esposto come oggetto COM. Quindi, se il tuo assembly non è esposto a COM, non ne hai bisogno. Viene generato in modo casuale. In ogni caso, normalmente, non è necessario modificarlo.

I crediti vanno a: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c


1
Quindi, se non cambio mai il numero di versione nel mio file AssemblyInfo, indipendentemente dal numero di distribuzioni che eseguo, verrà sempre visualizzato come 1.0.0.0?
Sachin Kainth

3
E se volessi automatizzare l'aggiornamento della versione ad ogni rilascio. È possibile?
Sachin Kainth

Dopo aver completato con successo le impostazioni del progetto, puoi chiamare alcuni .exe per aggiornare questo numero (quindi sarà il numero di versione per la prossima versione, non quello appena costruito). Dai
Francois

Sei sicuro che non sia necessario modificarlo? Come controlli le tue distribuzioni senza utilizzare il numero di versione?
Uğur Aldanmaz

15

Nel file AssemblyInfo gli attributi informativi contengono le informazioni sul nome del prodotto, la descrizione, il marchio e il copyright. In generale, queste informazioni sono hardcode o archiviate in database o file flat. L'assembly .NET consente di memorizzare queste informazioni nel file AssemblyInfo e dopo la compilazione diventa la parte dell'assembly. Quindi in fase di esecuzione si possono leggere queste informazioni.

Parte delle informazioni sull'assemblaggio

1 AssemblyTitle: nome del titolo dell'assembly.

2 Descrizione dell'assieme: fornisce la descrizione dettagliata dell'assieme.

3 AssemblyCompany: Fornisce le informazioni sulla società dall'assemblaggio.

4 AssemblyProduct: Fornisce le informazioni sulla produzione dall'assemblaggio.

5 AssemblyCopyright: Fornisce il copyright dell'assemblea.

6 AssemblyTrademark: Fornisce il marchio dall'assemblaggio.

Ciascuno di questi attributi ha una classe definita, che viene utilizzata per leggere le informazioni dal file AssemblyInfo.

Dai un'occhiata a questo link: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx


10

Vai alle proprietà del progetto, alla scheda Applicazione e fai clic sul pulsante Informazioni sull'assieme.

Questo è ciò che viene archiviato in AssemblyInfo.cs.

In Windows Explorer, fai clic con il pulsante destro del mouse sull'output .exe del tuo progetto, seleziona Proprietà e vai alla scheda Dettagli. Queste sono le informazioni generate da AssemblyInfo.cs.


8

Nel file AssemblyInfo puoi memorizzare le informazioni che puoi ottenere da ogni punto del progetto, quindi non devi aggiornare tutti i posti ma solo assemblyInfo.

Ad esempio: in questo file aggiorni il numero di versione e viene aggiornato automaticamente nel tuo sito. Nella pagina html, per ottenere il numero di versione, scrivi:

Assembly assembly = Assembly.GetAssembly(typeof(ProjectName.WebSite.Controllers.MyController));
string version = assembly.GetName().Version.ToString();

e verrà aggiornato ogni volta che caricherai una nuova versione.


4

È una posizione comoda per gli attributi a livello di assieme, come la versione, il nome dell'azienda ecc.


0

AssemblyInfo.cs contiene informazioni generali sull'applicazione che stai creando, alcune di queste informazioni includono il titolo della tua applicazione, copyright ecc., Per esempio se il titolo della tua applicazione è "MyApplication" dovresti vedere qualcosa del genere: [assembly: AssemblyTitle ("La mia applicazione")]


3
Benvenuto in Stack Overflow. È bello vederti coinvolto, ma evita di aggiungere risposte che non portano nulla di nuovo all'argomento.
machnic
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.