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