Compartilhar via


Carregando o Common Language Runtime em um processo

Antes de qualquer código gerenciado pode ser executado, o host deve carregar e inicializar o common language runtime (CLR). Todos os hosts começam com um stub de não gerenciado, porque o tempo de execução ainda não está executando no processo. A.NET Framework fornece um conjunto de APIs não gerenciadas chamados as APIs de hospedagem que o host pode usar para iniciar o tempo de execução. Para obter mais informações, consulte Interfaces de hospedagem..

Observação

Hospedando os métodos fornecidos por versões do.NET Framework antes de .NET Framework versão 4 são preteridos.Recomendamos que você use as interfaces introduzidas pela .NET Framework 4 e discutidas neste tópico.

Um host pode carregar o CLR em um processo usando um dos seguintes procedimentos:

O protótipo para todas essas interfaces está localizado no arquivo Metahost.h, que está localizado no diretório Include do Windows Software Development Kit (SDK). Os hosts podem usar tanto o ICLRRuntimeInfo e ICLRRuntimeHost interfaces para controlar qual versão do runtime para carregar e para controlar o comportamento de funções básicas como, por exemplo, coleta de lixo e o carregamento do assembly.

Use o ICLRRuntimeHost interface para executar as seguintes ações:

  • Inicie o tempo de execução chamando o ICLRRuntimeHost::Start método.

  • Execute código gerenciado.

  • Obter um ponteiro para o ICLRControl interface (que fornece acesso para os gerentes que são implementados pelo common language runtime) e registrar um objeto de controle de host que implementa o IHostControl interface. As chamadas de tempo de execução de linguagem comum a IHostControl interface para determinar quais gerenciadores implementa o host.

Consulte também

Referência

AppDomainSetup

Função de CorBindToRuntimeEx

Interface de ICLRRuntimeHost

Interface de ICLRControl

Conceitos

Transição para hospedagem de código gerenciado

Visão geral de hospedagem.

Outros recursos

Hospedagem (referência de API não gerenciada)