バージョン情報と一口にいっても、実行ファイルのバージョン、DLLのバージョン、ClickOnceやインストーラのバージョンなど様々です。
バージョン情報ダイアログを作るために、これらのバージョンの取得方法を書いてみます。といってもコードで。
/// <summary> /// ClickOnceで設定されたバージョンを取得 /// </summary> public static Version ClickOnceVersion { if (!System.Deployment.Application.ApplicationDeployment.IsNetworkDeployed) { return null; } return System.Deployment.Application.ApplicationDeployment .CurrentDeployment.CurrentVersion; } /// <summary> /// 実行中のexeファイルのバージョンを取得 /// </summary> public static string AssemblyVersion { return System.Windows.Forms.Application.ProductVersion; } /// <summary> /// 実行中のexeファイルと同一ディレクトリにあるDLLの情報を取得 /// </summary> public static List<System.Diagnostics.FileVersionInfo> DllVersion { var versions = new List<System.Diagnostics.FileVersionInfo>(); //自身のファイルパスを取得し、同一ディレクトリのdllファイルを一覧する string path = System.IO.Path.GetDirectoryName( System.Windows.Forms.Application.ExecutablePath); foreach (string name in System.IO.Directory.GetFiles(path, "*.dll")) { System.Diagnostics.FileVersionInfo info = System.Diagnostics.FileVersionInfo.GetVersionInfo(name); versions.Add(info); } return versions; }
このような感じで、バージョン情報ダイアログが作れそうです。
※DLLのバージョン取得はもう少し工夫しないと問題がありそうですが・・・