AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか? 質問する

AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersionの違いは何ですか? 質問する

アセンブリ バージョン属性は 3 つあります。違いは何ですか? 使用してAssemblyVersion残りを無視しても問題ありませんか?


MSDN によると:

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

    属性付けされるアセンブリのバージョンを指定します。

  • アセンブリファイルバージョン:

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

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

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


これは、アセンブリ属性を使用する際のベスト プラクティスは何ですか?

ベストアンサー1

アセンブリバージョン

あなたのアセンブリを参照する他のアセンブリが参照する場所。この番号が変更されると、他のアセンブリはあなたのアセンブリへの参照を更新する必要があります。下位互換性が損なわれる場合にのみ、このバージョンを更新してください。 はAssemblyVersion必須です。

私は、 major.minor (非常に安定したコードベースではmajor )という形式を使用します。結果は次のようになります。

[assembly: AssemblyVersion("1.3")]

フォローしているならセムバー厳密に言えば、これはメジャーな変更、つまり 1.0、2.0、3.0 などの場合にのみ更新することを意味します。

アセンブリファイルバージョン

展開に使用されます (セットアップ プログラムなど)。展開ごとにこの数を増やすことができます。同じであるAssemblyVersionが異なるビルドやコードから生成されたアセンブリをマークするために使用します。

Windows では、ファイルのプロパティで表示できます。

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

私はmajor.minor.patch.buildというフォーマットを使っています。セムバー最初の 3 つの部分には を使用し、最後の部分にはビルドサーバーのビルド番号を使用します (ローカル ビルドの場合は 0)。結果は次のようになります。

[assembly: AssemblyFileVersion("1.3.2.42")]

を注意システム.バージョンこれらの部品の名前は ですmajor.minor.build.revision

アセンブリ情報バージョン

アセンブリの製品バージョン。これは、顧客と話すときや Web サイトに表示するときに使用するバージョンです。このバージョンは、「1.0 Release Candidate」のような文字列にすることができます。

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

私はmajor.minor[.patch] [revision as string]という形式を使用します。結果は次のようになります。

[assembly: AssemblyInformationalVersion("1.3 RC1")]

おすすめ記事