Registrar Assemblies com
Você pode executar uma ferramenta de linha de comando chamada a Ferramenta de registro do Assembly (Regasm. exe) para registrar ou cancelar o registro de um assembly para uso com COM. Regasm. exe adiciona informações sobre a classe no registro do sistema para que podem usar a clientes COM o.NET classe de forma transparente. O RegistrationServices classe fornece a funcionalidade equivalente.
Antes que ele pode ser ativado a partir de um cliente COM, um componente gerenciado deve ser registrado no registro do Windows. A tabela a seguir mostra as chaves que RegAsm. exe normalmente adiciona ao registro do Windows. (000000 indica que o valor real do GUID).
GUID |
Descrição |
Registry key |
---|---|---|
CLSID |
Identificador de classe |
HKEY_CLASSES_ROOT\CLSID\ {000…000} |
IID |
Identificador de interface |
HKEY_CLASSES_ROOT\Interface\ {000…000} |
ID DA BIBLIOTECA |
Identificador de biblioteca |
HKEY_CLASSES_ROOT\TypeLib\ {000…000} |
ProgID |
Identificador programático |
HKEY_CLASSES_ROOT\000…000 |
Sob o HKCR\CLSID\ {0000…chave 0000}, o valor padrão é definido para o ProgID da classe, e dois novos valores nomeados, classe e Assembly, são adicionados. O runtime lê o valor do conjunto do registro e passa para o resolvedor de assembly em tempo de execução. O resolvedor de assembly para tenta localizar o assembly, com base nas informações de assembly, como o nome e número de versão. Para o resolvedor de assembly localizar um assembly, o assembly deve ser em um dos seguintes locais:
O cache de assembly global (deve ser um assembly de nome forte).
No diretório de aplicativo. Assemblies carregados a partir do caminho do aplicativo só são acessíveis a partir desse aplicativo.
Ao longo de um caminho de arquivo especificado com o /codebase opção Regasm. exe.
Regasm. exe também cria a chave InProcServer32 sob o HKCR\CLSID\ {0000…chave 0000}. O valor padrão para a chave é definido para o nome da DLL que inicializa o common language runtime (mscoree).
Examinando as entradas do registro
Interoperabilidade COM fornece uma implementação de fábrica de classe padrão para criar uma instância de qualquer.Classe do NET Framework. Os clientes podem chamar DllGetClassObject na DLL gerenciada para obter uma fábrica de classes e criar objetos, como fariam com qualquer outro componente COM.
Uma referência para mscoree aparece no lugar de uma biblioteca de tipos COM tradicional para indicar que o common language runtime cria o objeto gerenciado.
Consulte também
Tarefas
Como: Referência.NET tipos de COM