VB.NETアプリケーションのアバウトボックスに表示されない「自動増分されたリビジョン番号」を修正する

VB.NETアプリケーションを開発していて、プロジェクトを各公開時にリビジョン番号を自動で増分するように設定している場合、一般的な問題に直面することがあります。それは、アバウトボックスのバージョン番号が期待通りに更新されないことです。最新のリビジョンを表示する代わりに、My.Application.Info.Versionから取得した古いバージョン番号を表示し続けます。このブログ投稿では、この問題を探求し、アプリケーションのアバウトボックスに正しい自動増分されたバージョンを表示するためのシンプルな解決策を提示します。

問題の理解

VB.NETアプリケーションを公開するように設定したとき、リビジョン番号を自動で増分するように簡単に設定できます。この機能はバージョン管理を維持するのに非常に役立ち、エンドユーザーに更新を知らせるものです。しかし、次のような問題が発生します:

  • アプリケーションのメタデータを通常提供するアバウトボックスが、この更新されたバージョンを反映しない。
  • 代わりに、増分されたリビジョンを含む新しい公開バージョンではなく、アセンブリバージョンを表示します。

バージョン番号がどこから取得されているのかを理解することは、この問題に効果的に対処するために重要です。

なぜこのようなことが起こるのか?

この不一致の主な理由は、アプリケーションがバージョン情報を取得する方法によります:

  • アバウトボックス: デフォルトではMy.Application.Info.Versionを使用します。
  • 公開バージョン: 自動増分機能は、公開されたファイルのバージョン番号を更新しますが、必ずしもアバウトボックス内のものを更新するわけではありません。

これは、アバウトボックスが古い情報に固執しているように見える一因であり、現在公開されているバージョンは期待されるものを反映しています。

解決策: アバウトボックスのバージョンを更新する

アバウトボックスに自動増分されたリビジョン番号を表示するには、バージョンテキストを割り当てるコードを修正する必要があります。以下の手順に従って解決策を実装してください:

ステップ1: アバウトボックスコードを見つける

Visual Studioでプロジェクトを開き、アバウトボックスを生成するコードのセクションを見つけます。通常は、アプリケーション情報を表示する役割を持つフォームの中にあります。

ステップ2: バージョン表示コードを修正する

My.Application.Info.Versionからのデフォルトのバージョン参照を使用する代わりに、DeploymentオブジェクトのCurrentVersionプロパティを使うようにコードを変更します:

Me.LabelVersion.Text = String.Format("バージョン {0}", My.Application.Deployment.CurrentVersion.ToString)

このコード行は、現在公開されているバージョンを取得し、自動増分されたリビジョンを含む正しいバージョンをアバウトボックスに表示します。

ステップ3: アプリケーションをテストする

この変更を加えたら、アプリケーションを再公開します。アバウトボックスを開いて、期待通りに更新されたリビジョン番号が表示されていることを確認します。すべてが正しく設定されていれば、アプリケーションの詳細とともに現在のバージョンが表示されるはずです。

結論

結論として、VB.NETアプリケーションのアバウトボックスに正しい、自動増分されたリビジョン番号が表示されるようにすることは、非常に簡単です。デフォルトのアセンブリバージョンの代わりにMy.Application.Deployment.CurrentVersionプロパティを使用することによって、ユーザーに最新の更新情報を提供できます。

この投稿で説明した手順に従うことで、アバウトボックスのバージョンがアプリケーションの現在の状態を反映させることに問題はないはずです。これは良好なバージョン管理とユーザーコミュニケーションのために不可欠です。

VB.NETアプリケーションでのバージョン管理に関する質問や追加のヒントがあれば、ご遠慮なくお問い合わせください!