确定最高的.NET Framework版本

时间:2008-10-08 13:58:51

标签: .net c++ c version-detection

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

4 个答案:

答案 0 :(得分:10)

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

答案 1 :(得分:6)

.NET Framework的注册表项开头如下:

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

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

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

答案 2 :(得分:5)

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

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

答案 3 :(得分:0)

以下应该给你答案,但似乎可怕的打破:(

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