确定最高的 .NET Framework 版本 [重复]

Posted

技术标签:

【中文标题】确定最高的 .NET Framework 版本 [重复]【英文标题】:Determine highest .NET Framework version [duplicate] 【发布时间】:2008-10-08 13:58:50 【问题描述】:

我需要通过 C\C++ 代码确定桌面计算机上安装的最高 .NET 框架版本。看起来我可以迭代%systemroot%\Microsoft.NET\Framework 下的文件夹,但这似乎很容易出错。有没有更好的办法?也许我可以检查一个注册表项?谢谢。

【问题讨论】:

【参考方案1】:

使用Windows Registry 位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP

【讨论】:

是的,HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP 应该更容易一些。看起来我必须迭代子键,然后查询版本值。谢谢。【参考方案2】:

.NET Framework 的注册表项如下所示:

HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\

根据版本不同,其余密钥会有所不同(请查看this page)。

您可以在 MSDN 文章中查看如何访问注册表Using the registry in a C++ application

【讨论】:

【参考方案3】:

如果您尝试从托管代码执行此操作,请查看article,它包含了确定是否安装了特定框架版本所需的所有逻辑。

否则,请查看 Aaron 的博文 here,它提供了 C/C++ 方法来做同样的事情。

【讨论】:

【参考方案4】:

下面应该会给你答案,但它似乎很糟糕:(

c:\Program Files>clrver
Versions installed on the machine:
v2.0.50727

【讨论】:

CLR 版本不一定与 .Net 版本相同。 .Net v2.0 比 v1.1 更新了 CLR,但是 .Net v3.0 & v3.5 并没有改变 CLR,所以它仍然是“V2.0.50727”

以上是关于确定最高的 .NET Framework 版本 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何查看framework版本

系统已安装了哪些 NET Framework 版本

确定安装了哪些 NET Framework 版本

确定安装了哪些 NET Framework 版本

如何查看本机的.net framework版本

如何在Windows Server中查询.Net Framework版本信息