サードパーティの C++/CLR アセンブリがあります。dll を右クリックすると、バージョン タブには 5.32.1 が表示されますが、ILSpy のメタ情報には 5.0.0 が表示されます。この違いはなぜですか?正しいのはどれか。
1 に答える
2
Windows エクスプローラーのプロパティ タブに表示されるファイル バージョンは、.NET アセンブリAssemblyInformationalVersion
属性に対応します。AssemblyVersion
別の独立したものです。
そしてもちろん、この 2 つがどちらよりも正確というわけではありません。開発者はこれらを個別に設定できます。
現在の慣行はAssemblyVersion
、大まかに「同じ major.minor バージョンのアセンブリは互換性があるはず」のようですが、実際にこの規則を強制するものはありません。
必要な修正: 実際には、現在の CLR アセンブリ バインディングによって強制されるポリシーは、読み込み可能にするためにアセンブリ バージョン全体が一致する必要があるため、互換性のあるアセンブリは同じアセンブリ バージョンを持つ必要があるということです。トピックの詳細: AssemblyVersion、AssemblyFileVersion、AssemblyInformationalVersion の違いは何ですか?
于 2012-10-29T23:06:00.937 に答える