CLR 版本检测技术示例

更新:2007 年 11 月

本示例说明了如何检测计算机上安装的 .NET Framework 公共语言运行时 (CLR) 的版本。

有关使用这些示例的信息,请参见下面的主题:

Download sample

使用 Visual Studio 生成示例

  1. 打开 Windows 资源管理器,然后定位到 CLRVerSample 目录下的 CP 子目录。

  2. 双击 CLRVerCP.sln 的图标以在 Visual Studio 2005 中打开该文件。

  3. 在“生成”菜单上单击“生成解决方案”。

运行示例

  1. 在命令提示窗口中,定位到包含新的可执行文件的目录。

  2. 在命令行上键入 CLRVer.exe。

要求

**.NET Framework 版本:**2.0、1.1

Microsoft Visual Studio 2005

如果您使用 Microsoft Visual Studio 2005(“Visual Studio 2005 命令提示符”)进行生成,或者已在包含路径中安装并指定了 Platform SDK,则这些示例需要可用于您的项目的 Windows 头文件。

备注

此示例仅在 C++ 中可用。此代码示例调用 mscoree.h(位于 Windows 软件开发工具包 (SDK) 安装目录下的 \include 子目录中)中定义的非托管 API,以便列出本地计算机上安装的 CLR 的版本。

此示例调用非托管 GetRequestedRuntimeInfo 函数 方法,该方法将返回有关加载到进程中的 CLR 版本的信息。此信息不会总是显示计算机上安装的最新的 CLR 版本。

在 .NET Framework 2.0 版中,指定 GetRequestedRuntimeInfo 函数 参数的下列内容可以获取最新安装的 CLR 的版本:

  • 前三个参数为 null。

  • 为 runtimeInfoFlags 参数指定的 RUNTIME_INFO_FLAGS 枚举中的 RUNTIME_INFO_UPGRADE_VERSION 标志。

GetRequestedRuntimeInfo 函数 方法在下列情况下不会返回最新的 CLR 版本:

  • 如果存在一个指定加载特定的 CLR 版本的应用程序配置文件。请注意,.NET Framework 将使用该配置文件,即使为 pConfigurationFile 参数指定 null 也同样如此。

  • 如果调用的 CorBindToRuntimeEx 函数 指定的是 CLR 的早期版本。

  • 如果当前正在运行应用程序是针对 CLR 的早期版本编译的。

请参见

概念

运行库宿主

参考

GetCORVersion 函数

其他资源

承载公共语言运行库

非托管 API 参考