Je travaille sur une application de bureau. J'ai créer une configuration.
Ex. Mon application. La version est 1.0.0.
Je souhaite obtenir la version actuelle de mon application de bureau, à savoir 1.0.0
. J'ai essayé en utilisant Application.ProductVersion
mais il fournit la version de mes contrôles. (J'utilise DevExpress Control
15.2.7, il fournit donc la version actuelle sous la forme 15.2.7
).
Comment puis-je obtenir la version actuelle de l'application installée? Je souhaite le comparer à la version installée pour fournir une fonctionnalité "Nouvelle version disponible" à mon produit.
Les informations que vous recherchez se trouvent dans AssemblyInfo.cs.
Pour accéder aux informations écrites ici au moment de l'exécution, vous pouvez utiliser le System.Reflection.Assembly
.
Utilisez System.Reflection.Assembly.GetExecutingAssembly()
pour obtenir l’Assembly (que cette ligne de code est entre) ou utilisez System.Reflection.Assembly.GetEntryAssembly()
pour obtenir l’Assembly avec lequel votre projet a démarré (le plus susceptible est votre application).
Dans les solutions multi-projets, il faut en tenir compte!
string version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
// returns 1.0.0.0
Correspondant AssemblyInfo.cs:
Propriétés EXE correspondantes:
Ceci peut être important lorsque vous utilisez InstallShield (voir commentaires)!
System.Reflection.Assembly executingAssembly = System.Reflection.Assembly.GetExecutingAssembly();
var fieVersionInfo = FileVersionInfo.GetVersionInfo(executingAssembly .Location);
var version = fieVersionInfo.FileVersion;