Est-il possible d’obtenir le numéro de version par programme de toute DLL .NET ?
Dans l’affirmative, comment ?
Est-il possible d’obtenir le numéro de version par programme de toute DLL .NET ?
Dans l’affirmative, comment ?
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
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.
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.
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.