1. ホーム
  2. .net

[解決済み] AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか?

2022-03-18 05:35:12

質問

アセンブリのバージョン属性は3つあります。どのような違いがあるのでしょうか?また AssemblyVersion を無視し、残りを無視するのですか?


MSDNによると。

  • アセンブリバージョン :

    帰属させるアセンブリのバージョンを指定します。

  • AssemblyFileVersion :

    Win32ファイルのバージョンリソースに特定のバージョン番号を使用するようにコンパイラに指示します。Win32 ファイルのバージョンは、アセンブリのバージョン番号と同じである必要はありません。

  • AssemblyInformationalVersion :

    アセンブリマニフェストの追加バージョン情報を定義します。


の続報です。 Assembly Attributesを使用する際のベストプラクティスは何ですか?

どのように解決するのですか?

アセンブリバージョン

あなたのアセンブリを参照する他のアセンブリが参照する場所です。この番号が変更された場合、他のアセンブリはあなたのアセンブリへの参照を更新しなければなりません! 後方互換性を破壊する場合のみ、このバージョンを更新してください。このバージョンは AssemblyVersion は必須項目です。

形式を使っています。 メジャー.マイナー . という結果になります。

[assembly: AssemblyVersion("1.0")]

もし、あなたが SemVer を更新したときだけ更新することを意味します。 メジャー は、1.0、2.0、3.0などのように変更されます。

AssemblyFileVersion

デプロイ時に使用します。デプロイメントごとにこの数値を増やすことができます。セットアップ プログラムで使用されます。を持つアセンブリをマークするために使用します。 AssemblyVersion しかし、異なるビルドから生成されたものである。

Windowsでは、ファイルのプロパティで確認することができます。

AssemblyFileVersionはオプションです。指定しない場合は、AssemblyVersion が使用されます。

形式を使用しています。 メジャー.マイナー.パッチ.ビルド に従う。 セムバー は最初の3つの部分、最後の部分はbuildserverのbuildnumberを使用します(ローカルビルドの場合は0)。 この結果、次のようになります。

[assembly: AssemblyFileVersion("1.3.2.254")]

注意すること システム・バージョン は、これらの部分を major.minor.build.revision !

AssemblyInformationalVersion

アセンブリの製品バージョンです。これは、顧客と話すとき、またはウェブサイトに表示するために使用するバージョンです。このバージョンは、'のような文字列にすることができます。 1.0 リリース候補 '.

AssemblyInformationalVersion はオプションです。省略した場合は、AssemblyFileVersionが使用されます。

形式を使用しています。 major.minor[.patch] [リビジョンを文字列で指定]。 . という結果になります。

[assembly: AssemblyInformationalVersion("1.0 RC1")]