Empacotando um assembly do .NET Framework para COM
Os desenvolvedores de COM podem se beneficiar das seguintes informações sobre os tipos gerenciados que planejam incorporar em seus aplicativos:
Uma lista de tipos que os aplicativos COM podem consumir
Alguns tipos gerenciados são invisíveis para COM; alguns são visíveis, mas não credíveis; e alguns são visíveis e credíveis. Um conjunto pode incluir qualquer combinação de tipos invisíveis, visíveis, não criáveis e criáveis. Para obter integridade, identifique os tipos em um assembly que você pretende expor ao COM, especialmente quando esses tipos são um subconjunto dos tipos expostos ao .NET Framework.
Para obter informações adicionais, consulte Qualificando tipos .NET para interoperação.
Instruções de controle de versão
As classes gerenciadas que implementam a interface de classe (uma interface gerada por interoperabilidade COM) estão sujeitas a restrições de controle de versão.
Para obter diretrizes sobre como usar a interface de classe, consulte Apresentando a interface de classe.
Instruções de implantação
Assemblies de nome forte assinados por um editor podem ser instalados no cache de assembly global. Os assemblies não assinados devem ser instalados na máquina do usuário como assemblies privados.
Para obter informações adicionais, consulte Considerações de segurança do assembly.
Inclusão da biblioteca de tipos
A maioria dos tipos requer uma biblioteca de tipos quando consumida por um aplicativo COM. Você pode gerar uma biblioteca de tipos ou fazer com que os desenvolvedores COM executem essa tarefa. O SDK do Windows fornece as seguintes opções para gerar uma biblioteca de tipos:
Independentemente do mecanismo escolhido, somente os tipos públicos definidos no assembly fornecido são incluídos na biblioteca de tipos gerada.
Para obter instruções, consulte Como incorporar bibliotecas de tipos como recursos do Win32 no . Aplicativos baseados em NET.
Tipo Biblioteca Exportador
O Exportador de Biblioteca de Tipos (Tlbexp.exe) é uma ferramenta de linha de comando que converte as classes e interfaces contidas em um assembly em uma biblioteca de tipos COM. Uma vez que as informações de tipo da classe estão disponíveis, os clientes COM podem criar uma instância da classe .NET e chamar os métodos da instância, como se fosse um objeto COM. Tlbexp.exe converte um assembly inteiro de uma só vez. Não é possível usar Tlbexp.exe para gerar informações de tipo para um subconjunto dos tipos definidos em um assembly.
TypeLibConverter Classe
A TypeLibConverter classe, localizada no namespace System.Runtime.Interop , converte as classes e interfaces contidas em um assembly em uma biblioteca de tipos COM. Essa API produz as mesmas informações de tipo que o Exportador de Biblioteca de Tipos, descrito na seção anterior.
A classe TypeLibConverter implementa o ITypeLibConverter.
Ferramenta de Registo de Montagem
A Ferramenta de Registro de Assembly (Regasm.exe) pode gerar e registrar uma biblioteca de tipos quando você aplica a opção /tlb: . Os clientes COM exigem que as bibliotecas de tipos sejam instaladas no registro do Windows. Sem essa opção, Regasm.exe registra apenas os tipos em um assembly, não a biblioteca de tipos. Registrar os tipos em um assembly e registrar a biblioteca de tipos são atividades distintas.
Ferramenta de Instalação de Serviços .NET
A Ferramenta de Instalação de Serviços .NET (Regsvcs.exe) adiciona classes gerenciadas aos Serviços de Componentes do Windows 2000 e combina várias tarefas em uma única ferramenta. Além de carregar e registrar um assembly, Regsvcs.exe pode gerar, registrar e instalar a biblioteca de tipos em um aplicativo COM+ 1.0 existente.
Consulte também
- TypeLibConverter
- ITypeLibConverter
- Expondo componentes do .NET Framework ao COM
- Qualificando tipos .NET para interoperação
- Apresentando a interface de classe
- Considerações de segurança de montagem
- Tlbexp.exe (Exportador de Biblioteca de Tipos)
- Registrando assemblies com COM
- Como: Incorporar bibliotecas de tipos como recursos do Win32 em aplicativos