确定最高的.NET Framework版本

Cha*_*les 13 .net c c++ version-detection

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

chi*_*s42 10

使用Windows注册表位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP.


Luc*_*lle 6

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

HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
Run Code Online (Sandbox Code Playgroud)

根据版本的不同,密钥的其余部分将有所不同(请查看此页面).

您可以在MSDN文章中使用C++应用程序中的注册表查找如何访问注册表.


Sco*_*man 5

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

否则,看看Aaron的博客文章在这里,这给做同样的事情,一个C/C++方法.