Arquitetura dos suplementos de nível de aplicativo

Suplementos criados usando as ferramentas de desenvolvedor do Office em Visual Studio têm recursos de arquitetura que enfatizam a estabilidade e segurança e permitam que eles trabalham em conjunto com o Microsoft Office. Este tópico descreve os seguintes aspectos do add-ins:

  • Noções básicas sobre add-ins

  • Componentes de suplementos

  • Como suplementos funcionam com aplicativos de Microsoft Office

Aplicável a: As informações neste tópico se aplicam a projetos de nível de aplicativo para Microsoft Office 2010 e o sistema 2007 do Microsoft Office. Para obter mais informações, consulte Recursos disponíveis pelo aplicativo do Office e o tipo de projeto.

Para obter informações gerais sobre como criar suplementos, consulte Visão geral de desenvolvimento de soluções do Office e Obtenção iniciada de programação de aplicativo-nível Add-Ins.

Noções básicas sobre Add-Ins

Quando você usa as ferramentas de desenvolvedor do Office em Visual Studio para criar um suplemento, você pode criar um assembly de código gerenciado é carregado por um aplicativo de Microsoft Office. Depois que o assembly foi carregado, o suplemento pode responder a eventos que são gerados no aplicativo (por exemplo, quando um usuário clica em um item de menu). O suplemento pode também chamar o modelo de objeto para automatizar e estender o aplicativo e pode usar qualquer uma das classes na .NET Framework.

O assembly se comunica com componentes COM, do aplicativo por meio do assembly de interoperabilidade primária do aplicativo. For more information, see Assemblies de interoperabilidade primária do Office and Visão geral de desenvolvimento de soluções do Office.

Se vários suplementos estiverem instalados para um aplicativo, cada suplemento é carregado em um domínio de aplicativo diferente. Isso significa que um add-in que se comporta incorretamente não pode causar outros suplementos falhe. Ele também ajuda a garantir que, quando o aplicativo é fechado, todos os suplementos assemblies sejam descarregados da memória. Para obter mais informações sobre domínios de aplicativo, consulte Domínios de Aplicativo.

ObservaçãoObservação

Suplementos que você criar usando as ferramentas de desenvolvedor do Office em Visual Studio são projetados para ser usado somente quando o aplicativo de Microsoft Office de host é iniciado por um usuário final. Se o aplicativo for iniciado por meio de programação (por exemplo, usando a automação), o suplemento pode não funcionar como esperado.

Componentes de suplementos

Embora o assembly do suplemento é o componente principal, existem vários componentes que desempenham um papel importante em como os aplicativos de Microsoft Office de descubram e carregar o add-ins.

Entradas do registro

Aplicativos de Microsoft Office descubram suplementos procurando por um conjunto de entradas do registro. Para obter uma lista completa das entradas do Registro usadas pelo add-ins, consulte Entradas de registro de suplementos em nível de aplicativo.

Quando você desenvolver sua solução, Visual Studio cria todas as entradas necessárias do registro no computador de desenvolvimento para que você possa depurar e executar seu suplemento. For more information, see Visão Geral do Processo de Compilação de uma Solução Office.

Se você usar ClickOnce para implantar sua solução, o programa de instalação gerado pelo processo de publicar automaticamente cria as chaves do registro no computador do usuário final. For more information, see Soluções do Office de publicação.

O manifesto de implantação e o manifesto de aplicativo

Add-ins usar manifestos de implantação e manifestos de aplicativo para identificar e carregar a versão mais atual do conjunto do suplemento. O manifesto de implantação aponta para o manifesto do aplicativo atual. O manifesto do aplicativo aponta para o assembly do suplemento e especifica a classe de ponto de entrada para executar no assembly. For more information, see Manifestos de aplicativo e implantação em soluções do Office.

Visual Studio Tools for Office Runtime

Para executar suplementos que são criados usando as ferramentas de desenvolvedor do Office em Visual Studio, os computadores de usuário final devem ter o Visual Studio Tools for Office runtime instalado. O tempo de execução inclui componentes não gerenciados e um conjunto de módulos (assemblies) gerenciados. Os componentes não gerenciados carregar o assembly do suplemento. Os módulos gerenciados fornecem um modelo de objeto do seu código de suplemento usa para automatizar e estender o aplicativo host.

For more information, see Visual Studio Tools for Office visão geral sobre o tempo de execução.

Como suplementos funcionam com aplicativos de Microsoft Office

Quando um usuário inicia um aplicativo de Microsoft Office, o aplicativo usa o manifesto de implantação e o manifesto do aplicativo para localizar e carregar a versão mais atual do conjunto do suplemento. A ilustração a seguir mostra a arquitetura básica desses suplementos.

Arquitetura do suplemento

Arquitetura de suplemento do Office 2007

ObservaçãoObservação

Em soluções do Office que visam a .NET Framework 4, soluções de chamam o modelo de objeto do aplicativo host, usando as informações de tipo PIA são incorporadas ao assembly de solução, em vez de chamar o PIA diretamente. For more information, see Projetando e criando soluções do Office.

Processo de carregamento

Quando um usuário inicia um aplicativo, ocorrem as seguintes etapas:

  1. O aplicativo verifica o registro por entradas que identificam os suplementos que foram criados usando as ferramentas de desenvolvedor do Office em Visual Studio.

  2. Se o aplicativo encontrar essas entradas do registro, o aplicativo carrega VSTOEE.dll, que carrega o VSTOLoader.dll. Estes são não-gerenciados DLLs que são os componentes de carregador para o Visual Studio 2010 Tools for Office Runtime. For more information, see Visual Studio Tools for Office visão geral sobre o tempo de execução.

  3. Carrega de VSTOLoader.dll a .NET Framework e inicia a parte gerenciada do Visual Studio Tools for Office runtime.

  4. O Visual Studio Tools for Office runtime verifica se há atualizações de manifesto e os downloads mais recentes aplicativos e manifestos de implantação.

  5. O Visual Studio Tools for Office runtime executa uma série de verificações de segurança. For more information, see Protegendo as soluções do Office.

  6. Se o suplemento for confiável para executar, o Visual Studio Tools for Office runtime usa o manifesto de implantação e o manifesto do aplicativo para verificar se há atualizações do assembly. Se uma nova versão do assembly estiver disponível, o runtime downloads a nova versão do assembly para o ClickOnce cache no computador cliente. For more information, see Implantar soluções do Office.

  7. O Visual Studio Tools for Office runtime cria um novo domínio de aplicativo no qual carregar o suplemento assembly.

  8. O Visual Studio Tools for Office runtime carrega o assembly do suplemento para o domínio de aplicativo.

  9. O Visual Studio Tools for Office runtime chamadas de RequestComAddInAutomationService método no seu suplemento, se você tiver substituído o proprietário.

    Opcionalmente, você pode substituir esse método para expor um objeto em seu suplemento a outras soluções de Microsoft Office. For more information, see Código de chamada no nível do aplicativo Add-ins de outras soluções do Office.

  10. O Visual Studio Tools for Office runtime chamadas de RequestService método no seu suplemento, se você tiver substituído o proprietário.

    Opcionalmente, você pode substituir esse método para estender um recurso de Microsoft Office, retornando um objeto que implementa uma interface de extensibilidade. For more information, see Personalizando os recursos de interface do usuário usando Interfaces de extensibilidade.

    ObservaçãoObservação

    O Visual Studio Tools for Office runtime faz chamadas de separar o RequestService método para cada interface de extensibilidade, que é suportado pelo aplicativo host. Embora a primeira chamada para o RequestService método normalmente acontece antes da chamada para o ThisAddIn_Startup método, o add-in não deve fazer suposições sobre quando o RequestService método será chamado ou quantas vezes ele será chamado.

  11. O Visual Studio Tools for Office runtime chamadas de ThisAddIn_Startup método no seu add-in. Esse método é o manipulador de eventos padrão para o Startup de evento. For more information, see Eventos em projetos do Office.

Consulte também

Conceitos

Arquitetura de personalizações em nível de documento

Visual Studio Tools for Office visão geral sobre o tempo de execução

Outros recursos

Arquitetura de soluções do Office em Visual Studio

Os suplementos de nível de aplicativo de programação.

Desenvolvimento de soluções do Office

Protegendo as soluções do Office

Implantar soluções do Office