确定最高的.NET Framework版本
我需要从C \ C ++代码确定桌面计算机上安装的最高.NET框架版本。 看起来我可以迭代%systemroot%\Microsoft.NET\Framework
下的文件夹,但这似乎有点容易出错。 有没有更好的办法? 也许我可以检查一个注册表项? 谢谢。
使用Windows注册表位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
。
.NET Framework的注册表项如下所示:
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
根据版本的不同,密钥的其余部分将有所不同(请查看此页面 )。
您可以在MSDN文章中使用C ++应用程序中的注册表查找如何访问注册表。
如果您尝试从托管代码执行此操作,请查看本文 ,其中包含了确定是否安装了特定Framework版本所需的所有逻辑。
否则,请看一下Aaron的博客文章,它提供了一个C / C ++方法来做同样的事情。
以下应该给你答案,但似乎可怕的打破:(
c:\Program Files>clrver Versions installed on the machine: v2.0.50727