Partilhar via


Inicialização de tempo de execução a partir de um aplicativo COM

Antes de um aplicativo COM pode ativar um tipo gerenciado, o common language runtime deve ser carregado na memória. Embora a interoperabilidade COM, na verdade, não carregar o tempo de execução (código de inicialização do runtime faz), um aplicativo COM pode direcionar uma versão específica do runtime.

Os seguintes fatores determinam a versão de tempo de execução:

  • Um aplicativo COM pode especificar a versão de tempo de execução em um arquivo de configuração do aplicativo. Para mais informações, consulte: Configurando um aplicativo COM a execução de lado a lado.

  • O runtime já pode ser carregado na memória por um host extensível, como, por exemplo, Microsoft Internet Explorer ou Microsoft Office. O aplicativo COM plug-in usa o tempo de execução que é carregado para o host executar os componentes gerenciados.

  • Quando o controle estrito é necessária, um aplicativo COM pode pré-carregar uma versão específica do runtime programaticamente, chamando o ICLRMetaHostPolicy::GetRequestedRuntime método (exportado mscoree). Como alternativa, o aplicativo pode direcionar uma versão diferente do tempo de execução, com base em uma classe COM ativado, chamando o GetRequestedRuntimeVersionForCLSID função (também exportada de mscoree) e passando o valor de retorno para o CorBindToRuntimeHost função.

Na ausência desses fatores, o código de inicialização carrega o tempo de execução de acordo com o padrão de carregar o comportamento descrito na Configurando um aplicativo COM a execução de lado a lado.

Resolução de tipo

Se houver várias versões de um assembly que contém o tipo a ser ativado no registro do Windows, o runtime carrega a versão mais recente por padrão.

Se o aplicativo COM tiver um arquivo de configuração do aplicativo, a vinculação pode ser redirecionada para um tipo em uma versão específica de um assembly. Para mais informações, consulte: Configurando um aplicativo COM a execução de lado a lado.

Observação

Componentes instalados com o.NET Framework versão 1.0 não tem chaves do registro de dependente da versão.Para esses componentes, há apenas uma versão de um tipo de computador disponíveis para uso por COM.

Consulte também

Conceitos

Chaves de registro dependente da versão

Configurando um aplicativo COM a execução de lado a lado

Aplicando atributos de dependente da versão

Componentes COM e execução de lado a lado

Outros recursos

Execução lado a lado para interoperabilidade COM