Windowsフォームでバージョン情報を画面タイトルの横に出す

C#, ITVisualStudio, Windowsフォーム

バグ調査の時などにお客様が使用しているシステムのバージョンを知りたい時があります。
エラーが発生した時、お客様がキャプチャーを送ってくることが多いと思いますが、
画面タイトルにバージョンが出ていれば便利です。


バージョン設定

対象アプリケーションのPropeties → AssemblyInfoを開きます。

// アセンブリのバージョン情報は次の 4 つの値で構成されています:
//
//      メジャー バージョン
//      マイナー バージョン
//      ビルド番号
//      Revision
//
// すべての値を指定するか、次を使用してビルド番号とリビジョン番号を既定に設定できます
// 既定値にすることができます:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

AssemblyInfo内における上記記述の
[assembly: AssemblyVersion(“1.0.0.0”)]でバージョン値を設定します。
次行の[assembly: AssemblyFileVersion(“1.0.0.0”)]はコメントアウトしてください。
AssemblyVersionを設定すればAssemblyFileVersionも自動的に同じ値になります。


バージョンの取得

System.Reflection.Assembly.GetExecutingAssembly().GetName().Version

でバージョンの値が取得できます。
テスト画面のタイトル横にバージョンを表示してみましょう。

【Before】

private void Form1_Load(object sender, EventArgs e)
{
  //ロードイベントでバージョンをタイトル横に表示
    this.Text = this.Text + "     Ver  " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;
}

【After】

C#, ITVisualStudio, Windowsフォーム

Posted by raishin