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


Загрузка среды CLR в процесс

Обновлен: Ноябрь 2007

Перед выполнением управляемого кода основное приложение должно загрузить и инициализировать среду CLR. Все основные приложения начинают работу с неуправляемой заглушки, поскольку среда выполнения пока еще не запущена в процессе. Платформа .NET Framework предоставляет набор неуправляемых интерфейсов API, называемых размещающими интерфейсами API, которые основное приложение может использовать для запуска среды выполнения. Дополнительные сведения см. в разделе Интерфейсы размещения.

Чтобы загрузить среду выполнения в процесс, основное приложение вызывает функцию Функция CorBindToRuntimeEx. Прототип функции Функция CorBindToRuntimeEx находится в Mscoree.h в каталоге Include SDK (пакет средств разработки программного обеспечения) для Windows. Основное приложение использует Функция CorBindToRuntimeEx для управления загрузкой определенной версии среды выполнения и поведением простых функций, таких как сборка мусора и загрузка сборки. Основное приложение может устанавливать значения, показанные в следующей таблице.

Значение

Описание

Параллельная сборка мусора

Определяет, проводится ли сборка мусора в фоновых потоках или в потоках, в которых работает код пользователя.

Оптимизация загрузчика

Определяет, должны ли сборки загружаться как нейтральные к доменам. Загрузка сборок как нейтральных к доменам позволяет разделять код сборки, созданной JIT-компилятором, и структуры данных исполняющей среды, доступных только для чтения, среди всех доменов приложений в процессе.

Дополнительные сведения см. в разделе Домены приложений и сборки.

Сервер или рабочая станция

Указывает, следует ли загружать построение рабочей станции ("wks") или построение сервера ("svr") для среды выполнения.

Версия

Определяет версию среды выполнения, загружаемой в данный процесс. Чтобы загрузить версию 1.0, используйте "v1.0.3705". Чтобы загрузить версию 1.1, используйте "v1.1.4322". Чтобы загрузить версию 2.0, используйте "v2.0.50727". Процесс может загрузить только одну версию за раз.

Дополнительные сведения см. в разделе Параллельное выполнение.

Функция CorBindToRuntimeEx принимает три дополнительных параметра: CLSID объекта, содержащего интерфейс Интерфейс ICLRRuntimeHost, CLSID_CLRRuntimeHost; IID интерфейса, IID_ICLRRuntimeHost; и параметр, который получает указатель Интерфейс ICLRRuntimeHost.

01918c6x.alert_note(ru-ru,VS.90).gifПримечание.

Для версий 1.0 и 1.1 используйте CLSID_CorRuntimeHost и IID_ICorRuntimeHost для получения интерфейса Интерфейс ICorRuntimeHost.

Используйте Интерфейс ICLRRuntimeHost для запуска среды выполнения, для запуска управляемого кода, для получения указателя на интерфейс Интерфейс ICLRControl, который предоставляет доступ диспетчерам, реализованный в среде CLR, а также для регистрации объекта управления основным приложением, который реализует интерфейс Интерфейс IHostControl. Среда CLR вызывает Интерфейс IHostControl для определения диспетчеров, реализованных основным приложением.

См. также

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

Переход к управляемому коду размещения

Ссылки

AppDomainSetup

Функция CorBindToRuntimeEx

Интерфейс ICLRRuntimeHost

Интерфейс ICLRControl

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

Размещение среды CLR