从 COM 应用程序进行的运行库初始化

更新:2007 年 11 月

必须先将公共语言运行时载入内存,COM 应用程序才能激活托管类型。虽然 COM 互操作并不实际加载运行时(而是由运行时启动代码加载),但 COM 应用程序可以指定一个特定的目标运行时版本。

运行时版本由以下因素确定:

  • COM 应用程序可以在应用程序配置文件中指定运行时版本。有关更多信息,请参见配置 COM 应用程序并行执行

  • 运行时可能已由一个可扩展主应用程序(例如,Microsoft Internet Explorer 或 Microsoft Office)载入内存。COM 应用程序插件使用为主应用程序加载的运行时来运行托管组件。

  • 如果需要严格控制,COM 应用程序可以通过在程序代码中调用 CorBindToRuntimeHost(从 mscoree.dll 中导出)方法预加载一个特定版本的运行时。或者,应用程序也可以根据一个激活的 COM 类,通过调用 GetRequestedRuntimeVersionForCLSID 方法(也从 mscoree.dll 中导出)并将返回值传递到 CorBindToRuntimeHost 来指定不同的目标运行时版本。

如果没有这些因素,启动代码将加载计算机上安装的兼容运行时的最新版本。

类型解析

如果 Windows 注册表中有多个版本的程序集包含要激活的类型,默认情况下,运行时将加载最新的版本。

如果 COM 应用程序有应用程序配置文件,可将绑定重定向到特定版本的程序集中的类型。有关更多信息,请参见配置 COM 应用程序并行执行

说明:

随 .NET Framework 1.0 版安装的组件没有与版本相关的注册表项。对于这些组件,计算机上一个类型只有一个版本可供 COM 使用。

请参见

概念

与版本相关的注册表项

配置 COM 应用程序并行执行

应用与版本相关的属性

COM 组件和并行执行

其他资源

COM 互操作的并行执行