Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Você pode executar uma ferramenta de linha de comando chamada Assembly Registration Tool (Regasm.exe) para registrar ou cancelar o registro de um assembly para uso com COM. Regasm.exe adiciona informações sobre a classe ao registro do sistema para que os clientes COM possam usar a classe .NET Framework de forma transparente. A RegistrationServices classe fornece a funcionalidade equivalente.
Um componente gerenciado deve ser registrado no registro do Windows antes de poder ser ativado a partir de um cliente COM. A tabela a seguir mostra as chaves que Regasm.exe normalmente adiciona ao registro do Windows. (000000 indica o valor GUID real.)
| GUID | Descrição | Chave de registo |
|---|---|---|
| CLSID | Identificador de classe | HKEY_CLASSES_ROOT\CLSID\{000…000} |
| IID | Identificador de interface | HKEY_CLASSES_ROOT\Interface\{000…000} |
| LIBID | Identificador da biblioteca | HKEY_CLASSES_ROOT\TypeLib\{000…000} |
| ProgID | Identificador programático | HKEY_CLASSES_ROOT\000…000 |
Na chave HKCR\CLSID\{0000... 0000}, o valor padrão é definido como o ProgID da classe e dois novos valores nomeados, Class e Assembly, são adicionados. O runtime lê o valor Assembly do registo e passa-o para o resolvedor de assemblies em tempo de execução. O resolvedor de assemblies tenta localizar o assembly específico, com base em informações do assembly, como o nome e o número da versão. Para que o resolvedor de montagem localize uma montagem, a montagem deve estar em um dos seguintes locais:
O cache de assembly global (deve ser um assembly de nome forte).
No diretório do aplicativo. Os assemblies carregados a partir do caminho da aplicação só são acessíveis a partir dessa aplicação.
Ao longo de um caminho de arquivo especificado com a opção /codebase para Regasm.exe.
Regasm.exe também cria a chave InProcServer32 no âmbito da chave HKCR\CLSID\{0000...0000}. O valor padrão para a chave é definido como o nome da DLL que inicializa o common language runtime (Mscoree.dll).
Examinando entradas do registro
A interoperabilidade COM fornece uma implementação padrão de fábrica de classes para criar uma instância de qualquer classe do .NET Framework. Os clientes podem recorrer DllGetClassObject à DLL gerida para obter uma fábrica de classes e criar objetos, tal como fariam com qualquer outro componente COM.
Para a subchave InprocServer32, uma referência a Mscoree.dll aparece no lugar de uma biblioteca de tipos COM tradicional para indicar que o tempo de execução da linguagem comum cria o objeto gerido.