it-swarm.com.de

Die Version meiner C # App abrufen?

Ich arbeite an einer Desktopanwendung. Ich habe ein Setup erstellt. 

Ex. Meine Bewerbung Version ist 1.0.0.

Ich möchte die aktuelle Version meiner Desktop-Anwendung, nämlich 1.0.0, erhalten. Ich habe es mit Application.ProductVersion versucht, aber es liefert die Version meiner Steuerelemente. (Ich verwende DevExpress Control15.2.7, daher wird die aktuelle Version als 15.2.7 bereitgestellt).

Wie kann ich die aktuelle Version der installierten Anwendung abrufen? Ich möchte es mit der installierten Version vergleichen, um die Funktion "Neue Version verfügbar" für mein Produkt bereitzustellen.

15
Nanji Mange

Die Informationen, die Sie suchen, finden Sie in AssemblyInfo.cs.

Um auf die dort zur Laufzeit eingeschriebenen Informationen zuzugreifen, können Sie den System.Reflection.Assembly verwenden.

Verwenden Sie System.Reflection.Assembly.GetExecutingAssembly(), um die Assembly abzurufen (, dass sich diese Codezeile in befindet), oder verwenden Sie System.Reflection.Assembly.GetEntryAssembly(), um die Assembly zu starten, mit der Ihr Projekt beginnt (höchst wahrscheinlich ist dies Ihre App).

Bei Multiprojektlösungen ist dies zu beachten!

string version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
// returns 1.0.0.0

Entsprechende AssemblyInfo.cs:

 AssemblyInfo.cs

Entsprechende EXE-Eigenschaften:

 EXE properties

Dies kann beim Arbeiten mit InstallShield wichtig sein (siehe Kommentare)!

22
Felix D.
System.Reflection.Assembly executingAssembly = System.Reflection.Assembly.GetExecutingAssembly();
var fieVersionInfo = FileVersionInfo.GetVersionInfo(executingAssembly .Location);
var version = fieVersionInfo.FileVersion;
1
Nitin