为什么Windows文件版本与C ++ / CLR程序集的实际程序集版本不同

时间:2012-10-29 23:00:51

标签: clr assemblyversions ilspy

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

1 个答案:

答案 0 :(得分:2)

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

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

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


必要的更正:实际上,当前CLR程序集绑定强制执行的策略是整个程序集版本应匹配才能加载,因此兼容程序集应该具有相同< / em>汇编版。有关该主题的更多信息:What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?