我需要在C#中执行一个函数来验证客户端机器上是否安装了.NET 3.5框架。 如何在不使用Registry.LocalMachine.OpenSubKey(“Software \ Windows \ Microsoft.NET \ ...”)的情况下执行此操作,因为此函数必须在几个不同的计算机上使用,所有计算机都采用不同的框架方式?
谢谢
答案 0 :(得分:1)
如果在计算机上安装了.NET,它也会有注册表项。 Microsoft将此声明为检测客户端版本的.NET框架的方法。
https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx
Environment类中还有一个版本对象,其中包含有关正在运行的框架的主要版本,次要版本和构建版本的信息。 (Microsoft建议您不要使用4.5及更高版本,而是使用注册表检查。)
请确保检查正确的值,因为.NET 3.5和.Net 3.0的CLR版本仍为2.0。
答案 1 :(得分:0)
请参阅有关此主题的msdn文章。在安装了框架的任何机器上,该注册表位置都是相同的,它不是安装框架的路径,因此它可以使用。
https://msdn.microsoft.com/en-us/library/hh925568(v=vs.110).aspx