确定最高的 .NET Framework 版本 [重复]
Posted
技术标签:
【中文标题】确定最高的 .NET Framework 版本 [重复]【英文标题】:Determine highest .NET Framework version [duplicate] 【发布时间】:2008-10-08 13:58:50 【问题描述】:我需要通过 C\C++ 代码确定桌面计算机上安装的最高 .NET 框架版本。看起来我可以迭代%systemroot%\Microsoft.NET\Framework
下的文件夹,但这似乎很容易出错。有没有更好的办法?也许我可以检查一个注册表项?谢谢。
【问题讨论】:
【参考方案1】:使用Windows Registry 位置HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\NET Framework Setup\NDP
。
【讨论】:
是的,HKLM\SOFTWARE\Microsoft\NET Framework Setup\NDP 应该更容易一些。看起来我必须迭代子键,然后查询版本值。谢谢。【参考方案2】:.NET Framework 的注册表项如下所示:
HKEY_LOCAL_MACHINE\Software\Microsoft\NET Framework Setup\NDP\
根据版本不同,其余密钥会有所不同(请查看this page)。
您可以在 MSDN 文章中查看如何访问注册表Using the registry in a C++ application。
【讨论】:
【参考方案3】:如果您尝试从托管代码执行此操作,请查看article,它包含了确定是否安装了特定框架版本所需的所有逻辑。
否则,请查看 Aaron 的博文 here,它提供了 C/C++ 方法来做同样的事情。
【讨论】:
【参考方案4】:下面应该会给你答案,但它似乎很糟糕:(
c:\Program Files>clrver
Versions installed on the machine:
v2.0.50727
【讨论】:
CLR 版本不一定与 .Net 版本相同。 .Net v2.0 比 v1.1 更新了 CLR,但是 .Net v3.0 & v3.5 并没有改变 CLR,所以它仍然是“V2.0.50727”以上是关于确定最高的 .NET Framework 版本 [重复]的主要内容,如果未能解决你的问题,请参考以下文章