该主机上安装了哪个.NET版本?

时间:2018-07-23 06:08:00

标签: .net

我试图找出在此特定主机上运行的.NET版本。我得到矛盾的结果:

  • ASoft .NET版本检测器显示 4.6.2
  • 注册表项显示“发布”“ 394802”,根据how-to-determine-which-versions-are-installed
  • 映射到 4.6.2
  • 不过,mscorlib.dllclr.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

以下是该信息的屏幕截图。 Screenshot

这是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版本的最可靠信息来源是什么?

1 个答案:

答案 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,这是第一个结果。