我试图找出在此特定主机上运行的.NET版本。我得到矛盾的结果:
mscorlib.dll
和clr.dll
的版本是 4.7.2117.0 ,而C:\Windows\Microsoft.NET\Framework64\v4.0.30319
中的其他一些文件的版本是“ 4.6.1586” < / strong>(例如csc.exe)。Environment.Version
返回 4.0.30319.42000 这是ASoft Version Detector的完整日志:
<32Bit>
2.0.50727.8745
->C:\Windows\Microsoft.NET\Framework\v2.0.50727
4.7.2117.0
->C:\Windows\Microsoft.NET\Framework\v4.0.30319
<64Bit>
2.0.50727.8745
->C:\Windows\Microsoft.NET\Framework64\v2.0.50727
4.7.2117.0
->C:\Windows\Microsoft.NET\Framework64\v4.0.30319
< Installed .NET Frameworks >
.NET FW 2.0 SP 2 (CLR:2.0)
.NET FW 3.0 SP 2 (CLR:2.0)
.NET FW 3.5 SP 1 (CLR:2.0)
.NET FW 4.6.2 (CLR:4.0)
< Installed Updates >
Microsoft .NET Framework 4 Client Profile
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
Microsoft .NET Framework 4 Extended
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
KB2468871
KB2468871v2
KB2478063
KB2533523
KB2544514
KB2600211
KB2600217
< Installed Languages 3.0>
English - United States
< Installed Languages 3.5.x>
English - United States
< Installed Languages 4.x>
English - United States
我想知道它是哪个.NET版本?注册表“ Release”键与“ mscorlib.dll”版本不匹配怎么办?安装是否已损坏?
如果注册表的“发布”键不可靠,那么确定.NET / CLR版本的最可靠信息来源是什么?
答案 0 :(得分:2)
我强烈建议您安装.NET Framework 4.6.2,确切地说是工具和注册表告诉您的内容。
此外,您已经应用了this update(或更高版本),这是某些文件使用4.7.2117.0版本号的方法。 1
Environment.Version
总是试图告诉您您所使用的 CLR 版本:
对于.NET Framework版本4、4.5、4.5.1和4.5.2,Environment.Version属性返回一个Version对象,其字符串表示形式为4.0.30319.xxxxx。对于.NET Framework 4.6及其发行版和.NET Framework 4.7,其格式为4.0.30319.42000。
警告
对于.NET Framework 4.5和更高版本,我们不建议使用Version属性检测运行时的版本;
1 我不知道此更新。我刚刚搜索了mscorlib 4.7.2117.0
,这是第一个结果。