Importando uma biblioteca de tipos sistema autônomo um assembly
Definições de tipo COM geralmente residem em uma biblioteca de tipos.Por outro lado, compiladores compatíveis compatível compatível com CLS produzem metadados de tipo em um assembly.As duas fontes de informações de tipo são bastante diferentes.
Observação: |
---|
Quando disponível, sempre use o primário interoperabilidade assembly publicado pelo autor do componente COM que você pretende incorporar no seu código gerenciado.Tipos no principal interoperabilidade conjunto foram importadas para você e estão pronto para ativar e chamar a partir do código gerenciado.Para obter detalhes sobre a produção e usando principal interoperabilidade assemblies, consulte Assemblies de interoperabilidade primárias. |
Este tópico descreve técnicas para a geração de metadados de uma biblioteca de tipos.O assembly resultante é chamado de um assembly de interoperabilidade.
Geração de metadados
Bibliotecas de tipo COM podem ser autônomos arquivos TLB, tais sistema autônomo Loanlib.tlb.Algumas bibliotecas de tipo são incorporadas na seção recursos de um arquivo DLL ou EXE.Outras fontes de informações da biblioteca de tipo são arquivos OLB e OCX.
Após localizar a biblioteca de tipos que contém a implementação de seu tipo COM destino, você tem as seguintes opções para gerar um assembly de interoperabilidade que contém metadados do tipo:
Visual Studio 2005
Visual Studio 2005 Converte automaticamente tipos COM em uma biblioteca de tipo de metadados em um assembly. Para obter instruções, consulte Como: Adicione referências a bibliotecas tipo.
Tipo biblioteca Importer (Tlbimp.exe)
O Type Library Importer fornece opções de linha de comando para ajustar os metadados do arquivo resultante de interoperabilidade, importa os tipos de uma biblioteca de tipos existentes e gera um assembly de interoperabilidade e um espaço para nome.Para obter instruções, consulte Como: gerar assemblies de interoperabilidade a partir de bibliotecas de tipos.
Classe TypeLibConverter
The TypeLibConverter classe (a System.Runtime.InteropServices namespace) fornece métodos para converter coclasses e interfaces em uma biblioteca de tipos em metadados dentro de um assembly. Essa API produz a mesma saída de metadados sistema autônomo Tlbimp.exe.No entanto, diferentemente Tlbimp.exe, o TypeLibConverter classe pode converter uma biblioteca de tipos de memória em metadados.
Wrappers personalizados
Quando uma biblioteca de tipos está não disponível ou incorretas, uma opção é criar uma definição duplicada da classe ou interface no código fonte gerenciado.Em seguida, você compilar o código-fonte com um compilador que visa o tempo de execução para produzir os metadados em um assembly.
Para definir tipos COM manualmente, você deve ter acesso aos seguintes itens:
Precisas descrições das coclasses e interfaces que está sendo definidos.
Um compilador, sistema autônomo o compilador translation from VPE for Csharp, que pode gerar sistema autônomo definições de classe do .NET estrutura apropriadas.
Conhecimento sobre as regras de conversão de assembly de biblioteca de tipo.
Escrever um wrapper personalizado é uma técnica avançada executadas raramente.Para obter informações adicionais sobre como gerar um wrapper personalizado, consulte Personalizar wrappers padrão.
Para obter detalhes sobre a interoperabilidade COM Importar processo, consulte Biblioteca de tipo de resumo de conversão de assembly.
Consulte também
Tarefas
Como: Adicionar referências a bibliotecas de tipos
Como: Gerar assemblies de interoperabilidade de bibliotecas de tipos
Conceitos
Expondo componentes COM para o .NET estrutura
Usando tipos COM em código gerenciado
Compilando um projeto de interoperabilidade
Implantando um aplicativo Interop
Referência
Tipo Biblioteca Importer (Tlbimp.exe)