我有第三方C ++ / CLR程序集。当我右键单击dll时,版本选项卡显示5.32.1但是当ILSpy中的元信息显示5.0.0时。为什么会有这种差异?哪一个是正确的?
答案 0 :(得分:2)
Windows资源管理器的属性选项卡中显示的文件版本对应于.NET程序集AssemblyInformationalVersion
属性。 AssemblyVersion
是一个独立的独立事物。
当然,两者都不比另一个更正确,开发人员可以独立设置它们。
对于AssemblyVersion
,当前的做法似乎大致是“具有相同major.minor版本的程序集应该兼容”,但没有任何内容真正强制执行此规则。
必要的更正:实际上,当前CLR程序集绑定强制执行的策略是整个程序集版本应匹配才能加载,因此兼容程序集应该具有相同< / em>汇编版。有关该主题的更多信息:What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?