Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Note
Este artigo descreve as diretrizes de interoperabilidade COM do .NET Framework que usam ferramentas legadas e modelos de implantação, como Tlbimp.exe, assemblies de interoperabilidade primários, o cache de assembly global e o registro COM baseado no Registro. Para versões modernas do .NET, use a geração de código-fonte COM ou a API ComWrappers. Para obter mais informações, consulte interoperabilidade COM.
Um aplicativo de interoperabilidade geralmente inclui um assembly de cliente do .NET, um ou mais assemblies de interoperabilidade que representam diferentes bibliotecas de tipos COM e um ou mais componentes COM registrados. Visual Studio e o SDK do Windows fornecem ferramentas para importar e converter uma biblioteca de tipos em um assembly de interoperabilidade, conforme discutido em Importar uma biblioteca de tipos como um assembly. Há duas maneiras de implantar um aplicativo de interoperabilidade:
- Usando tipos de interoperabilidade incorporados: instrua o compilador a incorporar informações de tipo de um assembly de interoperabilidade no seu executável. O compilador inseri apenas as informações de tipo que seu aplicativo usa. Não é necessário implantar o assembly de interoperabilidade com o aplicativo. Essa é a técnica recomendada.
- Por meio da implantação de assemblies de interoperabilidade: crie uma referência padrão para um assembly de interoperabilidade. Nesse caso, o assembly de interoperabilidade deve ser implantado com o aplicativo. Se você empregar essa técnica e não estiver usando um componente COM privado, sempre faça referência ao PIA (assembly de interoperabilidade primário) publicado pelo autor do componente COM que você pretende incorporar em seu código gerenciado.
Se você usar tipos de interoperabilidade inseridos, a implantação será simples e direta. Não há nada de especial que você precise fazer. O restante deste artigo descreve os cenários para implantar assemblies de interoperabilidade com seu aplicativo.
Implantando assemblies de interoperabilidade
Os assemblies pode ter nomes fortes. Um assembly de nome forte inclui a chave pública do fornecedor, que fornece uma identidade exclusiva. Assemblies que são produzidos pelo Importador da Biblioteca de Tipos (Tlbimp.exe) podem ser assinados pelo fornecedor usando a opção /keyfile. É possível instalar assemblies assinados no cache de assembly global. Assemblies não assinados devem ser instalados no computador do usuário como assemblies particulares.
Assemblies privados
Para instalar um assembly a ser usado privadamente, o executável do aplicativo e o assembly de interoperabilidade que contém tipos COM importados devem ser instalados na mesma estrutura de diretório. A ilustração a seguir mostra um assembly de interoperabilidade não assinado a ser usado de forma particular por Client1.exe e Client2.exe, que residem em diretórios de aplicativo separados. A assemblagem de interoperabilidade, que é chamada de LOANLib.dll neste exemplo, é instalada duas vezes.
Todos os componentes COM associados ao aplicativo devem ser instalados no Registro do Windows. Se Client1.exe e Client2.exe na ilustração estiverem instalados em computadores diferentes, você deverá registrar os componentes COM em ambos os computadores.
Assemblies compartilhados
Assemblies que são compartilhados por vários aplicativos devem ser instalados em um repositório centralizado chamado cache de assembly global. Os clientes do .NET podem acessar a mesma cópia do assembly de interoperabilidade, que é assinada e instalada no cache de assembly global. Para obter mais informações sobre como produzir e usar assemblies de interoperabilidade primários, consulte Assemblies de Interoperabilidade Primários.