1

我有一个第 3 方 C++/CLR 程序集。当我右键单击 dll 时,版本选项卡显示 5.32.1,但当 ILSpy 中的元信息显示 5.0.0 时。为什么会有这种差异?哪一个是正确的?

4

1 回答 1

2

Windows 资源管理器的属性选项卡中显示的文件版本对应于 .NET 程序集AssemblyInformationalVersion属性。AssemblyVersion是一个单独的独立事物。

当然,两者都不比另一个更正确,开发人员可以独立设置它们。

对于AssemblyVersion当前的做法似乎大致是“具有相同major.minor 版本的程序集应该兼容”,但没有什么真正强制执行此规则。


必要的更正:实际上,当前 CLR 程序集绑定强制执行的策略是整个程序集版本应该匹配以便可加载,因此兼容的程序集应该具有相同的程序集版本。有关该主题的更多信息:AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 之间有什么区别?

于 2012-10-29T23:06:00.937 回答