1. ホーム
  2. c#

[解決済み] Visual Studio使用時にファイルのビルドバージョンを自動的にインクリメントすることはできますか?

2022-03-24 05:08:26

質問

どうしたらいいんだろう? 自動的に Visual Studio (2005)を使用しているファイルのビルド(およびバージョン)をインクリメントします。

のプロパティを調べると、例えば C:\Windows\notepad.exe と表示され、バージョンタブでは "ファイルバージョン: 5.1.2600.2180" と表示されます。私は自分のDLLのバージョンにもこのクールな数字を入れたいのですが、バージョン1.0.0.0は、正直言って、少し退屈です。

いくつか試してみましたが、アウトオブボックス的な機能ではないようで、(いつものように)見当違いなところを見ているだけかもしれません。

主にWeb案件を担当しているのですが...。

両方見ました。

  1. http://www.codeproject.com/KB/dotnet/Auto_Increment_Version.aspx
  2. http://www.codeproject.com/KB/dotnet/build_versioning.aspx

と、何かをするためにこれほどまでに努力することが当たり前になっていることが信じられませんでした。

EDIT 私の知る限りVS2005では動きません( http://www.codeproject.com/KB/dotnet/AutoIncrementVersion.aspx )

解決方法は?

Visual Studio 2008では、以下のように動作します。

AssemblyInfo.cs ファイルを探し、以下の 2 行を見つけます。

[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

に変更してみてはいかがでしょうか。

[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyFileVersion("1.0.*")]

しかし、これでは期待通りの結果が得られず、最終的に製品版の 1.0.* で、ファイルのバージョンは 1.0.0.0 . あなたが望むものではありません!

しかし、このうち2行目を削除して、単に

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

すると、コンパイラはファイルバージョンを製品バージョンと同じに設定し、製品バージョンとファイルバージョンが同期して自動的にインクリメントされるという、期待通りの結果を得ることができます。例えば、以下のようになります。 1.0.3266.92689