Поделиться через


Инициализация среды выполнения из COM-приложения

Перед тем как COM-приложение сможет активировать управляемый тип, необходимо загрузить в память среду CLR. Хотя COM-взаимодействие на самом деле не загружает среду выполнения (это делает код запуска среды выполнения), COM-приложение может ориентироваться на определенную версию среды выполнения.

На выбор версии среды выполнения влияют следующие факторы:

  • COM-приложение может задавать версию среды выполнения в файле конфигурации приложения. Дополнительные сведения см. в разделе Настройка COM-приложения для параллельного выполнения.

  • Среда выполнения может быть уже загружена в память расширенным узлом, таким как обозреватель Microsoft Internet Explorer или пакет Microsoft Office. Подключаемое COM-приложение использует среду выполнения, загруженную для узла, чтобы запустить управляемые компоненты.

  • Если требуется строгий контроль, COM-приложение может предварительно программным образом загрузить конкретную версию среды выполнения, вызвав метод ICLRMetaHostPolicy::GetRequestedRuntime (экспортированный из файла mscoree.dll). В противном случае приложение может выбрать иную версию среды выполнения на основе активированного COM-класса, вызывая функцию GetRequestedRuntimeVersionForCLSID (также экспортированную из файла mscoree.dll) и передавая возвращенное значение в функцию CorBindToRuntimeHost.

В отсутствие этих факторов код запуска загружает среду выполнения в соответствии с режимом загрузки, описанным в разделе Настройка COM-приложения для параллельного выполнения.

Разрешение типов

Если в реестре Windows есть несколько версий сборки, содержащей активируемый тип, среда выполнения загрузит последнюю версию по умолчанию.

Если для COM-приложения задан файл конфигурации, может быть выполнена привязка к типу в определенной версии сборки. Дополнительные сведения см. в разделе Настройка COM-приложения для параллельного выполнения.

ПримечаниеПримечание

У компонентов, установленных с платформой .NET Framework версии 1.0, отсутствуют разделы реестра, зависящие от версии.Для этих компонентов на компьютере существует только одна версия типа, доступная модели COM для использования.

См. также

Основные понятия

Разделы реестра, зависящие от версии

Настройка COM-приложения для параллельного выполнения

Применение атрибутов, зависящих от версии

COM-компоненты и параллельное выполнение

Другие ресурсы

Параллельное выполнение для COM- взаимодействия