Compartilhar via


Implantando um aplicativo de interoperabilidade

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. O Visual Studio e o SDK do Windows fornecem ferramentas para importar e converter uma biblioteca de tipos em um assembly de interoperabilidade, conforme discutido na importação de uma biblioteca de tipos como um assembly. Há duas maneiras de implantar um aplicativo de interoperabilidade:

  • Usando tipos de interoperabilidade inseridos: começando no .NET Framework 4, é possível instruir o compilador a inserir informações de tipo de um assembly de interoperabilidade no 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.

  • Implantando assemblies de interoperabilidade: é possível criar uma referência padrão a 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. Para obter mais informações sobre como produzir e usar assemblies de interoperabilidade primários, consulte Assemblies de Interoperabilidade Primários.

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.

Estrutura de diretórios e registro do Windows

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.

Consulte também