まとめ
以下のように書くのが良さそう。[assembly: AssemblyVersion("1.0.*")]
//[assembly: AssemblyFileVersion("1.0.0.0")]
理由
「*」を付けておけば、Visual Studioでビルドした時に勝手に更新してくれるため、少なくとも同じバージョンで機能の違うモジュールは作られない。機能が同じだが、バージョンが違うモジュールは作られてしまうため、機能的な違いはメジャーバージョンとマイナーバージョンで表すようにする。
AssemblyFileVersion属性はコメントアウトする。こうすることでAssemblyVersion属性と同じ値になる。
バージョン番号の各階層の説明
メジャーバージョン:手動指定のみ可マイナーバージョン:手動指定のみ可
ビルド番号 :2000/1/1からの経過日数
リビジョン :その日の00:00:00からの経過秒数を2で割った数
※時刻はlocal timeなので、GMTではなくJSTであり、翌日は0から始まるため、基本的にはビルド番号のみで新旧が判断できる。
注意点
ライブラリの作成時は、クライアント側でアセンブリを厳密に名前指定している場合、クライアント側もリビルドする必要が出てくる。(実質的に「*」は使えなくなる。)設定ファイル(user.config)を保存するフォルダ名にバージョン番号が含まれているため、保存したuser.configの情報が正しく取得できなくなる。
VBの場合は「*」が使えない
Microsoft Visual Basic® .NET プロジェクトでは、 プロジェクトが Visual Studio .NET IDE (統合開発環境) 内で最初にビルドされるときのみアセンブリ バージョンが更新されます。 同一インスタンスの Visual Studio .NET 内の後続のリビルドでは、バージョン番号は変化しません。
参考
ソフトウェアにつきもののバージョンとは?http://memomo2.blogspot.jp/2013/06/blog-post_6.html
[VS2010]exeのバージョン表示で,リビジョンNoを自動インクリメントさせる
http://nanoappli.com/blog/archives/1992
アセンブリのバージョン情報について
http://www.atmarkit.co.jp/bbs/phpBB/viewtopic.php?topic=46843&forum=7
Visual Studio .NET と Visual SourceSafe を使用したチーム開発
https://msdn.microsoft.com/ja-jp/library/ms998223.aspx
Visual Studioのプロジェクトで最初にやる設定
http://memomo2.blogspot.jp/2016/02/visual-studio.html
0 件のコメント:
コメントを投稿