Visual Studioでビルド番号フォーマットを変更する方法

.NETアプリケーションを管理する際、開発者が直面する技術的な課題の一つがソフトウェアのバージョニングです。ユーザーフレンドリーなバージョニングシステムは、特にユーザーがバグや問題を報告する際のコミュニケーションにとって重要です。このガイドでは、Visual Studioでバージョン番号フォーマットを変更するための手順を紹介し、より簡潔で明確にします。

問題

自動的にビルドごとにバージョン番号を更新する.NETアプリケーションを引き継いだとします。自動化は一般的に有益ですが、現在のバージョニングフォーマットには不満が残るかもしれません。例えば、3.5.3167.26981のようなバージョン文字列は、ユーザーがトラブルシューティングの際に言い表すにはかなり扱いにくいです。

希望するフォーマット

目的は、バージョニングプロセスを簡略化することです。3.5 (build 3198)のように、コミュニケーションが容易なフォーマットを求めています。具体的には、以下のようになります:

  • メジャーバージョンとマイナーバージョンは手動で更新。
  • ビルド番号は自動でインクリメント。
  • インクリメントはRELEASEビルドプロセス中のみに行われます。

解決策

ステップ1: プロジェクトファイルを探す

変更したいバージョン番号は、通常、AssemblyInfo.csという名前のプロジェクトファイルに設定されています。このファイル内で、アセンブリバージョン属性を探します。これは次のようになります:

[assembly: AssemblyVersion("3.5.*")]

*文字は、Visual Studioにビルドおよびリビジョン番号を自動的に割り当てるよう指示します。

ステップ2: バージョン番号をハードコードする

あなたのバージョニングフォーマットをカスタマイズするために、自動バージョニングを希望のフォーマットに一致するハードコードされた文字列に置き換えます:

[assembly: AssemblyVersion("3.5.3198.0")]

バージョンフォーマットの内訳は次のとおりです:

  • メジャーバージョン: 3
  • マイナーバージョン: 5
  • ビルド番号: 3198(これは自動生成されます)
  • リビジョン: これは0または任意の数字に設定できます。

ステップ3: デバッグビルドとリリースビルドにカスタマイズ

ビルド番号がリリースビルド中のみにインクリメントするようにするために、コンパイラのプリプロセッサ指令を使用できます。これは少し高度になりますが、強力なツールです。

AssemblyInfo.csには、以下のように条件付きコードを書くことができます:

#if DEBUG
[assembly: AssemblyVersion("3.5.0.0")]
#else
[assembly: AssemblyVersion("3.5.*")]
#endif

この設定では、以下のことが保証されます:

  • DEBUGビルドの際、バージョンは静的になります。
  • RELEASEビルドの際、バージョン番号はビルドシステムに基づいて更新されます。

結論

Visual Studioでのビルド番号フォーマットの変更は、ユーザーエクスペリエンスを大幅に向上させることができる簡単なプロセスです。これらの手順に従うことで、ユーザーがコミュニケーションしやすく、開発プロセスにも適したバージョニング構造を作ることができます。

バージョニング戦略を調整することで、ユーザーが効果的に問題を報告できるようになり、開発者とユーザー間のコミュニケーションが向上します。

楽しいコーディングを!