运行时的.NET CLR / Framework检测

时间:2012-11-11 23:11:26

标签: c# .net frameworks runtime

是否可以在运行时确定:

  1. 应用程序所针对的.NET框架版本是什么?

  2. 如果应用程序的目标是框架的完整或客户端配置文件?

  3. 我尝试使用Environment.Version,但这会产生非常不准确的结果。同样,我一直无法找到任何解决方案来确定使用哪种配置文件。

1 个答案:

答案 0 :(得分:3)

  

1)应用程序所针对的.NET框架版本是什么?

.NET程序集针对特定版本的框架。但是如您所知,您可以将针对.NET 2.0编译的程序集加载到CLR 4.0中。在运行时,您可以知道用于托管具有Environment.Version属性的应用程序的CLR版本。

  

2)如果应用程序的目标是框架的完整或客户端配置文件?

.NET配置文件不是可以在运行时确定的。它仅由Visual Studio用于在“添加引用”对话框中灰显某些程序集,以防止您引用可能在运行时不可用的程序集。顺便说一下,在.NET 4.5中删除了这个概念。