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


Определение загружаемой версии среды выполнения

Среда CLR использует следующие сведения, чтобы определить, какую версию среды загружать для приложения:

  • Доступные версии среды выполнения.

  • Версии среды выполнения, поддерживаемые приложением.

Поддерживаемые версии среды выполнения

Среда выполнения использует файл конфигурации приложения и заголовок переносимого исполняемого (РЕ) файла, чтобы определить, какую версию среды выполнения поддерживает приложение. Если файл конфигурации приложения не существует, среда выполнения загружает версию, указанную в заголовке PE-файла, при условии, что таковая доступна.

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

  1. Среда выполнения проверяет элемент Элемент <supportedRuntime> в файле конфигурации приложения. Если в элементе <supportedRuntime> указана одна или несколько поддерживаемых версий, среда выполнения загружает версию, указанную в первом элементе <supportedRuntime>. Если эта версия недоступна, среда выполнения проверяет следующий элемент <supportedRuntime> и предпринимает попытку загрузить указанную версию. Если эта версия среды выполнения недоступна, проверяются следующие элементы <supportedRuntime>. Если ни одна из поддерживаемых версий недоступна, среде выполнения не удается загрузить версию, и она отображает для пользователя соответствующее сообщение (см. шаг 3).

  2. Среда выполнения считывает заголовок PE-файла исполняемого файла приложения. Если версия, заданная в заголовке PE-файла, существует, среда выполнения загружает эту версию. Если указанная версия недоступна, среда выполнения ищет версию, которая определена Майкрософт как совместимая с версией, заданной заголовком PE. Если эта версия не найдена, процесс переходит к шагу 3.

  3. Среда выполнения отображает сообщение о том, что поддерживаемая приложением версия среды выполнения недоступна. Среда выполнения не загружена.

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

    Можно подавить отображение этого сообщения, используя значение NoGuiFromShim в разделе реестра "HKLM\Software\Microsoft\.NETFramework" или используя переменную среды COMPLUS_NoGuiFromShim.Например, можно подавить отображение сообщений для приложений, которые обычно не взаимодействуют с пользователем, такие как автоматические установки или службы Windows.После подавления отображения сообщения, среда выполнения записывает сообщение в журнал событий.Чтобы подавить это сообщение для всех приложений на компьютере, присвойте значению реестра NoGuiFromShim значение 1.Как вариант, присвойте переменной среды COMPLUS_NoGuiFromShim значение 1, чтобы подавить сообщения для всех приложений, запускающихся в контексте определенного пользователя.

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

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

См. также

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

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

Обнаружение сведений о версии среды выполнения

Настройка перенаправления привязки сборок

Параллельное выполнение