gpt4 book ai didi

c# - 为什么 .NET Framework 4.0 中的 mscorlib 版本是 4.6.x?

转载 作者:行者123 更新时间:2023-11-30 20:22:05 28 4
gpt4 key购买 nike

我运行针对 .NET Framework 4.0 的应用程序。然后我打开模块来检查使用了哪些库。我看到 mscorlib 版本是 4.6.96.0。但是在输出窗口中我可以看到 Framework 4.0 已加载?我相信该应用程序使用 .NET Framework 4.0。我不明白为什么 mscorlib 的版本是 4.6.96.0。为什么会这样? “由:NETFXREL2STAGE 构建”是什么意思 - 请查看屏幕截图。 screenshot .

最佳答案

该调试器窗口显示 DLL 的文件版本。作为非托管资源嵌入到 DLL 中,即 VERSION 资源,每个正确构建的可执行文件都有一个。对于 .NET 程序集,它是从 [ AssemblyFileVersion ] 属性由程序集链接器。 DLL 的每个修订版本都会更改文件版本。它仅起记录作用,不在运行时使用。与 .NET 比较 FileVersionInfo.FileVersion property .请注意它是一个字符串而不是一个数字。

不同于[ AssemblyVersion ] 属性,CLR 用来确定程序集是否兼容的真正重要属性。对于 4.x 框架中的所有 mscorlib.dll 版本,它都是 4.0.0.0。对于 .NET 版本 2.0 到 3.5SP1,它是 2.0.0.0。您无法在该对话框中看到它。当您查看“详细信息”选项卡时,也不会使用 Explorer,这是一个非常棘手的问题。

NETFXREL2STAGE 是创建该文件的雷德蒙德的构建机器。不知道为什么 Microsoft 认为包含该信息很有用。

参见 Stackoverflow 问题 What are differences between AssemblyVersion, AssemblyFileVersion and AssemblyInformationalVersion?

关于c# - 为什么 .NET Framework 4.0 中的 mscorlib 版本是 4.6.x?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32537740/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com