Share via


Determinando qual versão do tempo de execução para carregar

O Common linguagem tempo de execução usa as informações a seguir para determinar qual versão do tempo de execução para carregar um aplicativo:

  • As versões do tempo de execução disponível.

  • As versões do tempo de execução que ofereça suporte a um aplicativo.

Versões com suporte de tempo de execução

O tempo de execução usa o arquivo de configuração do aplicativo e o cabeçalho do arquivo executável (PE) portátil para determinar qual versão do runtime oferece suporte a um aplicativo.Se nenhum arquivo de configuração do aplicativo estiver presente, o tempo de execução carregará a versão de tempo de execução especificada no cabeçalho do arquivo PE do aplicativo, se essa versão está disponível.

Se houver um arquivo de configuração do aplicativo, o tempo de execução determina a versão de tempo de execução apropriadas para carregar com base nos resultados do processo seguinte de:

  1. O tempo de execução examina o < supportedRuntime > Elemento elemento do arquivo de configuração do aplicativo. Se um ou mais das versões com suporte em tempo de execução especificadas em de <supportedruntime> elemento estiverem presentes, o runtime carrega a versão de tempo de execução especificada pelo primeiro <supportedruntime> elemento.Se esta versão não estiver disponível, o runtime examina a próxima <supportedruntime> elemento e tentativas para carregar a versão de tempo de execução especificada.Se esta versão do tempo de execução não estiver disponível, subseqüentes <supportedruntime> elementos são examinados.Se nenhuma das versões com suporte em tempo de execução estiver disponível, o tempo de execução não carrega uma versão de tempo de execução e exibe uma mensagem ao usuário (consulte a etapa 3).

  2. O tempo de execução lê o cabeçalho do arquivo PE do arquivo executável do aplicativo.Se a versão de tempo de execução especificada pelo cabeçalho do arquivo PE estiver disponível, o runtime carrega essa versão.Se a versão de tempo de execução especificada não estiver disponível, o runtime procura por uma versão de tempo de execução determinada pela Microsoft para ser compatível com a versão de tempo de execução no cabeçalho PE.Se essa versão não for encontrada, o processo continua para a etapa 3.

  3. O tempo de execução exibe uma mensagem informando que a versão de tempo de execução com suporte do aplicativo não disponível.O tempo de execução não está carregado.

    Observação:

    Você pode suprimir a exibição desta mensagem Por usando o NoGuiFromShim valor sob a chave do registro HKLM\Software\Microsoft\.NETFramework ou usando a variável de ambiente COMPLUS_NoGuiFromShim.Por exemplo, você pode suprimir a mensagem para aplicativos que normalmente não interagem com o usuário, sistema autônomo instalações autônomas ou serviços do Windows.Quando a exibição de mensagem é suprimida, o tempo de execução grava uma mensagem no log de eventos.conjunto o valor do registro NoGuiFromShim como 1 para suprimir esta mensagem para todos os aplicativos em um computador.Como alternativa, defina a variável de ambiente COMPLUS_NoGuiFromShim como 1 para suprimir a mensagem para aplicativos executados em um contexto de usuário específico.

Observação:

Depois de uma versão de tempo de execução é carregada, redirecionamentos de ligação de assembly pode especificar que uma versão diferente de um assembly do .NET estrutura individual ser carregado.Esses redirecionamentos de ligação afetam somente o assembly específico que é redirecionado.

Consulte também

Conceitos

Redirecionamento de ligação de assembly

Localizando informações de tempo de execução versão

Configurando o redirecionamento de ligação de assembly

Outros recursos

Conceitos básicos de execução lado a lado