161 votes

Définit le numéro de version du projet.

Est-il possible d’obtenir le numéro de version par programme de toute DLL .NET ?

Dans l’affirmative, comment ?

191voto

Ben Anderson Points 1454

Cela fonctionne si la dll est .net ou Win32. Méthodes de réflexion fonctionnent seulement si la dll est .net.

À partir de : http://msdn.microsoft.com/en-us/library/system.diagnostics.fileversioninfo.fileversion.aspx

source d’origine

124voto

Kris Points 11892
Assembly assembly = Assembly.LoadFrom("MyAssembly.dll");
Version ver = assembly.GetName().Version;

54voto

staafl Points 925

Tout d'abord, il y a deux "versions" de ce que vous pourriez être intéressé par:

  • Système de fichiers Windows de version de fichier, applicable à tous les fichiers exécutables

  • Assemblage de la version, qui est incorporé dans un .NET de l'assemblée par le compilateur (qui n'est évidemment applicable .NET de l'assemblée fichiers dll et exe)

Dans le premier cas, vous devez utiliser Ben Anderson réponse; dans ce dernier cas, utilisez AssemblyName.GetAssemblyName("c:\path\to\file").Version, ou Tataro de la réponse, au cas où l'assemblée est référencée par votre code.

Notez que vous pouvez ignorer toutes les réponses que l'utilisation .Load()/.LoadFrom() méthodes, puisque ces charger de l'assemblée dans le courant de l'AppDomain - qui est analogue à abattre un arbre pour voir comment elle est.

35voto

Totero Points 1308

Voici une belle façon en utilisant un peu de réflexion pour obtenir une version d’une DLL contenant une classe particulière :

Il suffit de remplacer ! Classe ! avec le nom d’une classe qui est définie dans la DLL que vous souhaitez obtenir la version du.

Il s’agit de ma méthode préférée parce que si j’ai déplacer les dll pour déploiement différents je n’ai pas à changer le chemin d’accès.

25voto

Agent_9191 Points 5466

Pour l’obtenir pour l’Assemblée qui a été démarrée (winform, console app, etc....)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X