我有一个第 3 方 C++/CLR 程序集。当我右键单击 dll 时,版本选项卡显示 5.32.1,但当 ILSpy 中的元信息显示 5.0.0 时。为什么会有这种差异?哪一个是正确的?
问问题
194 次
1 回答
2
Windows 资源管理器的属性选项卡中显示的文件版本对应于 .NET 程序集AssemblyInformationalVersion
属性。AssemblyVersion
是一个单独的独立事物。
当然,两者都不比另一个更正确,开发人员可以独立设置它们。
对于AssemblyVersion
当前的做法似乎大致是“具有相同major.minor 版本的程序集应该兼容”,但没有什么真正强制执行此规则。
必要的更正:实际上,当前 CLR 程序集绑定强制执行的策略是整个程序集版本应该匹配以便可加载,因此兼容的程序集应该具有相同的程序集版本。有关该主题的更多信息:AssemblyVersion、AssemblyFileVersion 和 AssemblyInformationalVersion 之间有什么区别?
于 2012-10-29T23:06:00.937 回答