デスクトップアプリケーションに取り組んでいます。セットアップを作成しました。
例私のアプリケーション。バージョンは1.0.0です。
1.0.0
であるデスクトップアプリケーションの現在のバージョンを取得したい。 Application.ProductVersion
を使用して試しましたが、コントロールのバージョンを提供します。 (DevExpress Control
15.2.7を使用しているため、現在のバージョンを15.2.7
として提供します)。
インストールされているアプリケーションの現在のバージョンを取得するにはどうすればよいですか?これをインストール済みのバージョンと比較して、製品に「利用可能な新しいバージョン」機能を提供したいと思います。
探している情報はAssemblyInfo.csにあります。
実行時にそこに書き込まれた情報にアクセスするには、_System.Reflection.Assembly
_を使用できます。
System.Reflection.Assembly.GetExecutingAssembly()
を使用してアセンブリを取得するか(このコード行が含まれる)、またはSystem.Reflection.Assembly.GetEntryAssembly()
を使用して取得しますプロジェクトが開始したアセンブリ(ほとんどの場合、これはアプリです)。
マルチプロジェクトソリューションでは、これは心に留めておくべきことです!
_string version = Assembly.GetExecutingAssembly().GetName().Version.ToString()
// returns 1.0.0.0
_
対応するAssemblyInfo.cs:
対応するEXE-properties:
これ は、InstallShieldを使用する場合に重要な場合があります(コメントを参照)!
System.Reflection.Assembly executingAssembly = System.Reflection.Assembly.GetExecutingAssembly();
var fieVersionInfo = FileVersionInfo.GetVersionInfo(executingAssembly .Location);
var version = fieVersionInfo.FileVersion;