1

SGen は、親アセンブリのファイル バージョンではなく、代わりに AssemblyVersion を使用しているようです。これは、厳密な名前を一定に保ち、MSI API と互換性のあるパッチを介してリリースする場合に問題になります。

たとえば、新しいデータ型が追加された場合、生成された XmlSerializers アセンブリにターゲット マシンでパッチを適用する必要があります。ただし、MSI はファイル バージョン (等しい) のみを確認し、何もしません。

ソース アセンブリからのファイル バージョンを使用するように SGen に指示する方法はありますか?

例:

ソース アセンブリ:

  [assembly: AssemblyVersion("2.0.0.0")]
  [assembly: AssemblyFileVersion("35.0.0.0")]

生成されたシリアライザー アセンブリは、ファイルおよび製品バージョンの PE ヘッダーで 2.0.0.0 を取得します。これは間違っています。

最後の手段として、生成されたアセンブリのファイル バージョンにパッチを適用することを検討しますが、少なくとも以前の .NET バージョンでは、 PE ヘッダーを含む完全なファイル。

4

1 に答える 1