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


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

Файл конфигурации приложения позволяет COM-приложению связаться с конкретным управляемым компонентом и указать, в какой версии среды выполнения выполняется данный компонент. Разработчики COM-приложений могут создать файл конфигурации приложения .NET Framework и развернуть его вместе со своими приложениями.

Режим загрузки по умолчанию

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

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

  • Если компонент был создан в предыдущей версии платформы .NET Framework, он загружается с помощью последней версии среды выполнения ниже версии 4, установленной на компьютере. Например, если компонент был создан в .NET Framework 1.1, а на компьютере установлены три версии платформы .NET Framework (.NET Framework 1.1, .NET Framework 3.5 с пакетом обновления 1 (SP1) и .NET Framework 4), компонент загружается с помощью версии .NET Framework 3.5 с пакетом обновления 1 (SP1). Это было режимом по умолчанию до .NET Framework 4.

Режим загрузки влияет на компоненты, загружаемые параллельно в одном процессе. Среда выполнения .NET Framework 4 может запускаться внутрипроцессно со средой выполнения более ранней версии платформы .NET Framework. См. раздел Внутрипроцессное параллельное выполнение.

Задание версии среды выполнения

Если режим загрузки по умолчанию не удовлетворяет требованиям COM-приложения, можно использовать элемент <supportedRuntime> файла конфигурации приложения, чтобы задать версию среды выполнения, необходимую приложению. Например, можно указать версию среды выполнения 1.1.4322, которая загружает платформу .NET Framework версии 1.1. Инструкции см. в разделе Указание требуемой версии платформы .NET Framework.

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

COM-приложения, находящиеся на расширяемом узле, такие как обозреватель Microsoft Internet Explorer или пакет Microsoft Office, не могут управлять версией загружаемой среды выполнения.

Если имеются компоненты, созданные в версии .NET Framework 4 и в более ранних версиях платформы .NET Framework, необходимо указать обе версии в качестве поддерживаемых сред выполнения, поскольку режим загрузки по умолчанию не использует .NET Framework 4 для загрузки компонента более ранней версии. Чтобы принудительно загрузить компонент более ранней версии с помощью .NET Framework 4, задайте атрибуту useLegacyV2RuntimeActivationPolicy значение true в элементе <startup> вашего файла конфигурации. Это позволяет вернуться к предыдущему режиму загрузки по умолчанию до версии .NET Framework 4, в котором используется последняя поддерживаемая версия платформы .NET Framework.

Задание версии сборки

Если файл конфигурации приложений отсутствует, среда выполнения загрузит ту версию сборки, которая была внесена в реестр Windows последней и содержит тип, который должен быть активирован из COM. Чтобы указать приложению о необходимости привязки к более ранней версии сборки, можно использовать элемент <bindingRedirect> в файле конфигурации приложения. Инструкции см. в разделе Перенаправление версий сборки.

Перенаправление нескольких версий сборок можно выполнить, включив в элемент <dependentAssembly> несколько элементов <bindingRedirect>.

См. также

Ссылки

Элемент <startup>

Элемент <supportedRuntime>

Элемент <bindingRedirect>

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

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

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

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

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

Перенаправление версий сборки

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

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