Skip to content

OTR_VersioningPolicy

nishi_74322014 edited this page Oct 27, 2026 · 1 revision

Open棟梁のバージョン番号付与ポリシー

概要

Open 棟梁のバージョン番号の付け方。

  • 基本的に、半年単位の定期リリースの際にバージョンアップする。
  • リリースのタグは 03-30 のような「メジャー 2 桁-マイナー 2 桁」の形式で、パッケージの版は 3.3.0 のような SemVer 形式で表す。

詳細

AssemblyVersion

major.minor.build.revision の形式。AssemblyFileVersion・AssemblyInformationalVersion もこの値を使う。

桁 付け方
major 後方互換は維持しているので、コンセプトの変更や、5 年以上のマイナー更新の継続などでインクリメント
minor 半年単位のリリースでインクリメント
build NuGet リリースの度にインクリメント(主にリリース作業のミスなどで上がる)
revision 使用しない(常に 0)

PackageVersion

major.minor.build(AssemblyVersion の先頭 3 つと同じ)。プレリリース版は -alpha1 などのサフィックスを付ける。

現在の運用(2026 年 10 月時点)

  • バージョンの定義は 2 系統あり、0_SetVersion.ps1 で一括更新する。
定義箇所 書き込む値(例)
Directory.Build.props の OpenTouryoVersion(net10.0 の版) 3.3.0-alpha1(指定値そのまま)
net48 の AssemblyInfo.cs の AssemblyVersion 3.3.0.0(サフィックスを落とし 4 桁目を 0)
  • サフィックスはパッケージの版にだけ入り、アセンブリの版には入らない。
  • 同じパッケージに入る net48 と net10.0 のアセンブリの版は揃える。 パッケージ作成のバッチ(_NuGetPack.bat)がずれを検査し、ずれていれば停止する。
  • 試すときはプレリリース版で公開し、正式な番号(3.3.0 など)はタグ付きのコミットのために取っておく。

AssemblyVersion と PackageVersion の関係

  • AssemblyVersion の更新はリリースごとに任意(.NET の仕様上)、PackageVersion の更新は必須(NuGet の仕様上)。
    そのため、2 つが一致しないことがある。
リリース 方針 利用側の作業
定期リリース、修正が上位パッケージまで広範囲に及ぶ場合 2 つの番号を一致させる 上位パッケージの参照をバージョンアップする。アセンブリ・バージョン・リダイレクトが要ることがある
不定期・緊急リリースで、下位(Public など)だけを直す場合 PackageVersion だけを上げ、AssemblyVersion は据え置く 最上位のアプリから新しい版の参照を追加して上書きする。リダイレクトは不要

コーディング・エージェントに任せる場合

  • 版の更新は手作業だと追随漏れが起きやすいので、エージェントにも 0_SetVersion.ps1 を使わせる(-WhatIf で確認してから実行)。
  • タグ付けと公開は人が行う。

参考


Tags: 再構築

NetDevInfraWiki

マイクロソフト系技術情報 Wiki
Open 棟梁 Wiki
開発基盤部会 Wiki

移行管理: DONE / TODO

Clone this wiki locally