Настройка 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>.
См. также
Ссылки
Основные понятия
Инициализация среды выполнения из COM-приложения
Разделы реестра, зависящие от версии
Применение атрибутов, зависящих от версии
COM-компоненты и параллельное выполнение