Introdução à interoperabilidade COM (Visual Basic)
O COM (Component Object Model) permite que um objeto exponha sua funcionalidade a outros componentes e aplicativos host. Embora os objetos COM tenham sido fundamentais para a programação do Windows por muitos anos, os aplicativos projetados para o Common Language Runtime (CLR) oferecem muitas vantagens.
Os aplicativos .NET Framework eventualmente substituirão os desenvolvidos com COM. Até lá, talvez seja necessário usar ou criar objetos COM usando o Visual Studio. A interoperabilidade com COM, ou interoperabilidade COM, permite que você use objetos COM existentes durante a transição para o .NET Framework no seu próprio ritmo.
Usando o .NET Framework para criar componentes COM, você pode usar interoperabilidade COM sem registro. Isso permite controlar qual versão da DLL é habilitada quando mais de uma versão é instalada em um computador e permite que os usuários finais usem XCOPY ou FTP para copiar seu aplicativo para um diretório apropriado em seu computador onde ele pode ser executado. Para obter mais informações, consulte Interoperabilidade COM sem registro.
Código e dados gerenciados
O código desenvolvido para o .NET Framework é conhecido como código gerenciado e contém metadados usados pelo CLR. Os dados usados pelos aplicativos do .NET Framework são chamados de dados gerenciados porque o tempo de execução gerencia tarefas relacionadas a dados, como alocar e recuperar memória e executar a verificação de tipo. Por padrão, o Visual Basic .NET usa código e dados gerenciados, mas você pode acessar o código não gerenciado e os dados de objetos COM usando assemblies de interoperabilidade (descritos mais adiante nesta página).
Assemblagens
Um assembly é o principal bloco de construção de um aplicativo .NET Framework. É uma coleção de funcionalidades que é criada, versionada e implantada como uma única unidade de implementação contendo um ou mais arquivos. Cada assembly contém um manifesto de assembly.
Bibliotecas de tipos e manifestos de montagem
As bibliotecas de tipos descrevem características de objetos COM, como nomes de membros e tipos de dados. Os manifestos de assembly executam a mesma função para aplicativos .NET Framework. Eles incluem informações sobre o seguinte:
Identidade, versão, cultura e assinatura digital do assembly.
Arquivos que compõem a implementação do assembly.
Tipos e recursos que compõem a montagem. Isso inclui aqueles que são exportados a partir dele.
Dependências em tempo de compilação em outros assemblies.
Permissões necessárias para que o assembly seja executado corretamente.
Para obter mais informações sobre assemblies e manifestos de assembly, consulte Assemblies in .NET.
Importando e exportando bibliotecas de tipos
Visual Studio contém um utilitário, Tlbimp, que permite importar informações de uma biblioteca de tipos para um aplicativo .NET Framework. Você pode gerar bibliotecas de tipos a partir de assemblies usando o utilitário Tlbexp.
Para obter informações sobre Tlbimp e Tlbexp, consulte Tlbimp.exe (Type Library Importer) e Tlbexp.exe (Type Library Exporter).
Assemblies de interoperabilidade
Os assemblies de interoperabilidade são assemblies do .NET Framework que fazem a ponte entre código gerenciado e não gerenciado, mapeando membros de objeto COM para membros gerenciados equivalentes do .NET Framework. Os assemblies de interoperabilidade criados pelo Visual Basic .NET lidam com muitos dos detalhes do trabalho com objetos COM, como empacotamento de interoperabilidade.
Interoperabilidade Marshalling
Todos os aplicativos .NET Framework compartilham um conjunto de tipos comuns que permitem a interoperabilidade de objetos, independentemente da linguagem de programação usada. Os parâmetros e valores de retorno de objetos COM às vezes usam tipos de dados diferentes daqueles usados no código gerenciado. O agrupamento de interoperabilidade é o processo de empacotamento de parâmetros e valores de retorno em tipos de dados equivalentes à medida que eles se movem de e para objetos COM. Para obter mais informações, consulte Interop Marshaling.
Consulte também
- Interoperabilidade COM
- Passo a passo: Implementando herança com objetos COM
- Interoperando com código não gerenciado
- Solução de problemas de interoperabilidade
- Montagens no .NET
- Tlbimp.exe (Importador de Biblioteca de Tipos)
- Tlbexp.exe (Exportador de Biblioteca de Tipos)
- Marshaling de Interoperabilidade
- Interoperabilidade COM sem registo