Implantando um aplicativo de interoperabilidade
Um aplicativo de interoperabilidade normalmente inclui um assembly de cliente .NET, um ou mais assemblies de interoperabilidade representando bibliotecas de tipos COM distintas 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 em Importando uma biblioteca de tipos como um assembly. Há duas maneiras de implantar um aplicativo de interoperabilidade:
Usando tipos de interoperabilidade incorporados: começando com o .NET Framework 4, você pode instruir o compilador a incorporar informações de tipo de um assembly de interoperabilidade em seu executável. O compilador incorpora apenas as informações de tipo que seu aplicativo usa. Não é necessário implantar o assembly de interoperabilidade com seu aplicativo. Esta é a técnica recomendada.
Implantando assemblies de interoperabilidade: você pode criar uma referência padrão para um assembly de interoperabilidade. Nesse caso, o assembly de interoperabilidade deve ser implantado com seu aplicativo. Se você empregar essa técnica e não estiver usando um componente COM privado, sempre faça referência ao assembly de interoperabilidade primário (PIA) 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ária, consulte Assemblies de interoperabilidade primária.
Se você usar tipos de interoperabilidade incorporados, 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
As assembleias podem ter nomes fortes. Um assembly de nome forte inclui a chave pública do editor, que fornece uma identidade única. Os assemblies produzidos pelo Importador de Biblioteca de Tipos (Tlbimp.exe) podem ser assinados pelo editor usando a opção /keyfile . Você pode instalar assemblies assinados no cache global de assemblies. Os assemblies não assinados devem ser instalados na máquina do usuário como assemblies privados.
Assembleias Privadas
Para instalar um assembly a ser usado de forma privada, o executável do aplicativo e o assembly de interoperabilidade que contém tipos COM importados devem ser instalados na mesma estrutura de diretórios. A ilustração a seguir mostra um assembly de interoperabilidade não assinado para ser usado de forma privada por Client1.exe e Client2.exe, que residem em diretórios de aplicativos separados. O assembly de interoperabilidade, que é chamado de LOANLib.dll neste exemplo, é instalado 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
Os assemblies compartilhados por vários aplicativos devem ser instalados em um repositório centralizado chamado cache de assembly global. Os clientes .NET podem acessar a mesma cópia do assembly de interoperabilidade, que é assinado e instalado no cache de assembly global. Para obter mais informações sobre como produzir e usar assemblies de interoperabilidade primária, consulte Assemblies de interoperabilidade primária.