13

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

4

4 回答 4

10

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

于 2008-10-08T14:02:46.517 回答
6

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

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

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

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

于 2008-10-08T14:09:56.130 回答
5

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

否则,请在此处查看 Aaron 的博客文章,其中提供了 C/C++ 方法来做同样的事情。

于 2008-10-14T02:15:32.467 回答
0

以下应该会给你答案,但它似乎非常糟糕:(

c:\Program Files>clrver
Versions installed on the machine:
v2.0.50727
于 2008-10-08T14:10:43.850 回答