À quoi sert AssemblyInfo.cs?

115

Ma question est assez simple. Ce que j'aimerais savoir, c'est à quoi sert le fichier AssemblyInfo.cs?

Sachin Kainth
la source
Mais rappelez-vous que ce numéro de version est utilisé avec le nom, le jeton de clé publique et les informations de culture uniquement si les assemblys sont signés avec un nom fort. Si les assemblys ne sont pas signés avec un nom fort, seuls les noms de fichiers sont utilisés pour le chargement.
Karl SoCal

Réponses:

84

AssemblyInfo.cs contient des informations sur votre assembly, comme le nom, la description, la version, etc. Vous pouvez trouver plus de détails sur son contenu en lisant les commentaires qui y sont inclus.

Si vous le supprimez, votre assembly sera compilé sans aucune information, c'est-à-dire que dans l'onglet Détails des propriétés du fichier, vous ne verrez aucun nom, aucune description, version 0.0.0.0, etc.

La valeur associée à l'assembly: Guid est l'ID qui identifiera l'assembly s'il sera exposé en tant qu'objet COM. Donc, si votre assembly n'est pas exposé COM, vous n'en avez pas besoin. Il est généré au hasard. Dans tous les cas, normalement, vous n'avez pas besoin de le modifier.

Les crédits vont à: http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/8955449f-71ac-448e-9ee6-5329fceecd3c

François
la source
1
Donc, si je ne change jamais le numéro de version dans mon fichier AssemblyInfo, quel que soit le nombre de déploiements que j'effectue, il s'affichera toujours sous la forme 1.0.0.0?
Sachin Kainth
3
Que faire si je souhaite automatiser la mise à jour de la version à chaque version. Est-ce possible?
Sachin Kainth
Une fois la création réussie dans les paramètres du projet, vous pouvez appeler un fichier .exe pour mettre à jour ce numéro (il s'agira donc du numéro de version de la prochaine version, et non de celle qui vient d'être créée). Jetez un œil à: codeproject.com/Articles/31236/…
Francois
Êtes-vous sûr qu'il n'est pas nécessaire de le modifier? Comment contrôlez-vous vos déploiements sans utiliser le numéro de version?
Uğur Aldanmaz
15

Dans le fichier AssemblyInfo, les attributs d'information contiennent les informations sur le nom du produit, la description, la marque, le droit d'auteur. En général, ces informations sont codées en dur ou stockées dans une base de données ou un fichier plat. L'assembly .NET permet de stocker ces informations dans le fichier AssemblyInfo et après la compilation, il devient la partie de l'assembly. Ainsi, au moment de l'exécution, on peut lire ces informations.

Partie des informations d'assemblage

1 AssemblyTitle: nom du titre de l'assembly.

2 AssemblyDescription: il fournit la description détaillée de l'assemblage.

3 AssemblyCompany: Fournit les informations sur la société à partir de l'assemblage.

4 AssemblyProduct: Il fournit les informations de production de l'assemblage.

5 AssemblyCopyright: Fournit les droits d'auteur de l'assemblage.

6 AssemblyTrademark: Fournit la marque commerciale de l'assemblage.

Chacun de ces attributs a une classe définie, qui est utilisée pour lire les informations du fichier AssemblyInfo.

Consultez ce lien: - http://www.dotnetspider.com/forum/157292-assemblyinfo-file.aspx

Rahul Tripathi
la source
10

Accédez aux propriétés de votre projet, à l'onglet Application et cliquez sur le bouton Informations d'assemblage.

C'est ce qui est stocké dans AssemblyInfo.cs.

Dans l'Explorateur Windows, cliquez avec le bouton droit sur la sortie .exe de votre projet, sélectionnez Propriétés, puis accédez à l'onglet Détails. Ce sont les informations générées par AssemblyInfo.cs.

Kendall Frey
la source
8

Dans le fichier AssemblyInfo, vous pouvez stocker des informations que vous pouvez obtenir à partir de n'importe quel endroit du projet, de sorte que vous n'avez pas à mettre à jour tous les emplacements mais juste l'assemblyInfo.

Par exemple, dans ce fichier, vous mettez à jour le numéro de version et il est mis à jour automatiquement sur votre site. Dans la page html, pour obtenir le numéro de version, écrivez:

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

et il sera mis à jour chaque fois que vous téléchargez une nouvelle version.

ParPar
la source
4

C'est un emplacement pratique pour les attributs de niveau d'assemblage, tels que la version, le nom de l'entreprise, etc.

Oded
la source
0

AssemblyInfo.cs contient des informations générales sur l'application que vous créez, certaines de ces informations incluent le titre de votre application, les droits d'auteur, etc., par exemple, si le titre de votre application est "MyApplication", vous devriez voir quelque chose comme ceci: [assembly: AssemblyTitle ("Mon application")]

Collins A. Eban
la source
4
Bienvenue dans Stack Overflow. C'est agréable de vous voir impliqué, mais évitez d'ajouter des réponses qui n'apportent rien de nouveau sur le sujet.
machnic