Compartilhar via


Arquitetura de nível de aplicativo Adicionar-ins

Se aplica a

As informações contidas neste tópico se aplicam apenas às especificado Ferramentas do Visual Studio para o Office projetos e as versões do Microsoft Office.

Tipo de Projeto

  • Projetos de nível de aplicativo

Versão do Microsoft Office

  • Microsoft Office Sistema de 2007

  • Microsoft Office 2003

For more information, see Recursos disponíveis pelo aplicativo e o tipo de projeto.

O Adicionar-ins que você criar usando Ferramentas do Visual Studio para o Office têm recursos de arquiteturais que enfatizam estabilidade e segurança e ativá-los para trabalhar de perto com o Microsoft Office.Este tópico descreve os seguintes aspectos da Ferramentas do Visual Studio para o Office Adicionar-ins:

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

  • Componentes do Adicionar-ins

  • Como Adicionar-ins funcionam com o Microsoft Office Sistema de 2007

  • Como Adicionar-ins funcionam com o Microsoft Office 2003

  • Comportamento de desligamento do Outlook 2003 Adicionar-ins

Para Geral informações sobre como usar Ferramentas do Visual Studio para o Office Adicionar-ins, consulte Visão geral de desenvolvimento de soluções do Office e Introdução Programação Application-Nível Adicionar-ins.

Noções básicas sobre Adicionar-ins

Quando você criar um Adicionar - in usando Ferramentas do Visual Studio para o Office, você criar um código gerenciado Assembly que é carregado por um aplicativo do Microsoft Office.Depois que o assembly for carregado, o Adicionar - in pode responder a eventos que são gerados no aplicativo (por exemplo, quando um usuário clica em um item de menu).O Adicionar-in também pode chamar o modelo de objeto para automatizar e estender o aplicativo, e ele pode usar alguma das classes in the .NET Framework.

O assembly se comunica com componentes de COM do aplicativo através do assembly de interoperabilidade primária do aplicativo.Para obter mais informações, consulte Assemblies de interoperabilidade primários Office e Visão geral de desenvolvimento de soluções do Office.

Ferramentas do Visual Studio para o Office carrega cada Adicionar - in em um domínio de aplicativo diferente.Isso significa que uma Adicionar - que se comporta incorretamente não pode causar outros Adicionar-ins a falha.Ele também garante que quando o aplicativo é Fechada, Tudo o código é Fechada Para Baixo, e os assemblies são descarregados da memória.Para obter mais informações sobre domínios de aplicativo, consulte Visão Geral Sobre Domínios de Aplicativos.

Observação:

Adicionar-ins que você cria usando Ferramentas do Visual Studio para o Office destinam-se a ser usada somente quando o host de aplicativo do Microsoft Office é iniciado por um usuário final.Se o aplicativo for iniciado por meio de programação (por exemplo, usando automação), o Adicionar - in pode não funcionar conforme o esperado.

Componentes do Adicionar-ins

Embora o assembly de Adicionar-in é o componente principal, existem vários outros componentes que desempenham um papel importante no como aplicativos do Microsoft Office descubram e carregar o Adicionar-ins.

Entradas de registro

Aplicativos do Microsoft Office descobrir Adicionar-ins procurando um conjunto de entradas do Registro.A maioria das entradas do Registro é os mesmos para as versões 2003 e 2007 do Microsoft Office, mas uma chave é diferente:

  • Aplicativos no 2007 Microsoft Office Sistema procure a entrada de Manifest sob a chave HKEY_CURRENT_USER\Software\Microsoft\Office\Nome do aplicativo\Addins\adicionar - na identificação (ou, para o Visio, HKEY_CURRENT_USER\Software\Microsoft\Visio\Addins\suplemento ID).A entrada Manifest Especifica o caminho completo do manifesto da implantação.

  • Aplicativos do Microsoft Office 2003 procurar as entradas do ManifestName sob a chave HKEY_CURRENT_USER\Software\Microsoft\Office\ e ManifestLocationNome do aplicativo\Addins\adicionar - na identificação (ou, para o Visio, HKEY_CURRENT_USER\Software\Microsoft\Visio\Addins\suplemento ID).Essas entradas especifique o local e o nome do manifesto do aplicativo.

Quando você Compilação sua solução, Ferramentas do Visual Studio para o Office cria Tudo as entradas do Registro necessária no computador de desenvolvimento para que você pode depurar e executar o Adicionar-in.For more information, see Office solução Compilação processo Visão geral.

Para um Concluir lista das entradas de registro usado pelo Adicionar-ins, consulte Entradas de registro para Application-Nível Adicionar-ins.

Observação:

Você pode implantar um Ferramentas do Visual Studio para o Office Adicionar - in para o Microsoft Office 2003 assim que ele está disponível para Tudo usuários um computador criando as chaves do Registro em HKEY_LOCAL_MACHINE em vez de HKEY_CURRENT_USER.No entanto, você não é possível implantar um Ferramentas do Visual Studio para o Office Adicionar - in para o 2007 Microsoft Office Sistema para Tudo usuários um computador ao registrar o Adicionar - in em HKEY_LOCAL_MACHINE.Aplicativos no 2007 Microsoft Office Sistema apenas reconhecem Ferramentas do Visual Studio para o Office Adicionar-ins que estão registrados em HKEY_CURRENT_USER.

Manifesto de implantação e manifesto de aplicativo

Adicionar-ins usam manifestos de implantação e manifestos de aplicativo para identificar e carregar o máximo Versão Atual do Adicionar - no assembly.A implantação do manifesto aponta para o manifesto do aplicativo atual.O manifesto do aplicativo aponta para o Adicionar no assembly, e especifica a classe de ponto de entrada para executar no assembly.For more information, see Aplicativo e manifestos de implantação in Office Solutions.

O Visual Studio Tools for Office Tempo de execução

Para executar Adicionar-ins que são criados usando Ferramentas do Visual Studio para o Office, os computadores de usuário final devem ter o runtime Ferramentas do Visual Studio para o Office 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 Adicionar-in.Os assemblies gerenciados fornecem o modelo de objeto que seu Adicionar - usa código para automatizar e estender o aplicativo host.

For more information, see O Visual Studio Tools for Visão geral de tempo de execução do Office.

Como Adicionar-ins trabalhar com o 2007 Microsoft Office Sistema

Quando um usuário inicia um aplicativo no 2007 Microsoft Office Sistema, o aplicativo usa o manifesto da implantação e o manifesto do aplicativo para localizar e carregar o máximo Versão Atual do Adicionar - no assembly.A ilustração a seguir mostra a arquitetura básica desses Adicionar-ins.

Arquitetura Adicionar-in the 2007 Microsoft Office Sistema

Processo de Carregando

Estas etapas ocorrerão quando um usuário inicia um aplicativo:

  1. O aplicativo verifica o registro entradas que identificar Adicionar-ins que foram criadas por meio do Ferramentas do Visual Studio para o Office.

  2. Se o aplicativo encontrar essas entradas do Registro, o aplicativo carrega VSTOEE.dll, que carrega VSTOLoader.dll.Esses são não gerenciados DLLs que são os componentes de carregador para o Microsoft Visual Studio Tools para o Microsoft Office system (versão 3.0 Runtime).For more information, see O Visual Studio Tools for Visão geral de tempo de execução do Office.

  3. VSTOLoader.dll carrega a .NET Framework e inicia a parte gerenciada o Tempo de execução Ferramentas do Visual Studio para o Office.

  4. O Tempo de execução Ferramentas do Visual Studio para o Office verifica se há atualizações manifesto e baixa os manifestos de aplicativo e implantação mais recentes.

  5. O Tempo de execução Ferramentas do Visual Studio para o Office executa uma série de verificações de segurança.For more information, see Segurança no Office Solutions (sistema de 2007).

  6. Se o Adicionar - in é confiável para ser executado, o Tempo de execução Ferramentas do Visual Studio para o Office usa o manifesto de implantação e manifesto de aplicativo para procurar atualizações do assembly.Se uma Novo versão do assembly não estiver disponível, o tempo de execução baixa a Novo versão do assembly ao cache ClickOnce no computador cliente.For more information, see Implantando soluções do Office (Sistema de 2007).

  7. O Tempo de execução Ferramentas do Visual Studio para o Office cria um novo domínio de aplicativo no qual carregar o assembly de Adicionar-in.

  8. Carrega o Tempo de execução Ferramentas do Visual Studio para o Office o Adicionar no assembly para o domínio do aplicativo.

  9. O Tempo de execução Ferramentas do Visual Studio para o Office chama o método RequestComAddInAutomationService na sua Adicionar - in, se você tiver substituído-lo.

    Opcionalmente você pode substituir esse método para expor um objeto em seu Adicionar - na Outro soluções do Microsoft Office.For more information, see Chamar o código no nível de aplicativo Adicionar-ins de Outro soluções do Office.

  10. O Tempo de execução Ferramentas do Visual Studio para o Office chama o método RequestService na sua Adicionar - in, se você tiver substituído-lo.

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

  11. O Tempo de execução Ferramentas do Visual Studio para o Office chama o método ThisAddIn_Startup na sua Adicionar - in.Esse método é o manipulador de eventos padrão para o evento Startup.For more information, see O Visual Studio Tools for Office Projeto eventos.

Observação:

O Tempo de execução de Ferramentas do Visual Studio para o Office faz chamadas separadas para o método RequestService para cada interface de extensibilidade que é suportado pelo aplicativo host.Embora a Primeiro chamada para o método de RequestService geralmente acontece antes da chamada para o método de ThisAddIn_Startup , seu Adicionar - in não deve fazer suposições sobre quando o método de RequestService será chamado e quantas vezes ele será chamado.

Como Adicionar-ins trabalhar com o Microsoft Office 2003

Quando um usuário inicia um aplicativo do Microsoft Office, o aplicativo usa informações no manifesto do aplicativo (e, opcionalmente, o manifesto de implantação) para carregar o assembly Adicionar-in.A ilustração a seguir mostra o Basic arquitetura de um Adicionar-in para um aplicativo do Microsoft Office 2003.

Adicionar-na arquitetura para o Microsoft Office 2003

Processo de Carregando

Estas etapas ocorrerão quando um usuário inicia um aplicativo:

  1. O aplicativo verifica o registro entradas que identificar Adicionar-ins que foram criadas por meio do Ferramentas do Visual Studio para o Office.

  2. Se o aplicativo encontrar essas entradas do Registro, o aplicativo carrega VSTOEE.dll, que carrega AddinLoader.dll.Esses são não gerenciados DLLs que são os componentes de carregador para o O Visual Studio 2005 Tools for Office Second Edition runtime. Para obter mais informações, consulte O Visual Studio Tools for Visão geral de tempo de execução do Office.

  3. AddinLoader.dll carrega a .NET Framework e inicia a parte gerenciada o Tempo de execução Ferramentas do Visual Studio para o Office.

  4. O Tempo de execução Ferramentas do Visual Studio para o Office cria um novo domínio de aplicativo, define a diretiva no domínio do aplicativo não para confiar no meu zona do computador e verifica o armazenamento de diretiva de segurança de Acessar código para localizar uma diretiva para o assembly de Adicionar-in.

  5. O .NET Framework valida as evidências apresentada pelo assembly com a diretiva do domínio do aplicativo.Se ele falhar, um erro é gerado.Se ele passa, o processo continua.

  6. Se o Adicionar - usa um manifesto de implantação, o Tempo de execução Ferramentas do Visual Studio para o Office usa-lo para Marcar as atualizações do assembly.Se as atualizações forem necessárias, elas são executadas agora.

  7. Carrega o Tempo de execução Ferramentas do Visual Studio para o Office o Adicionar no assembly para o novo domínio do aplicativo.

  8. O Tempo de execução Ferramentas do Visual Studio para o Office chama o método RequestComAddInAutomationService na sua Adicionar - in, se você tiver substituído-lo.

    Opcionalmente você pode substituir esse método para expor um objeto em seu Adicionar - na Outro soluções do Microsoft Office.For more information, see Chamar o código no nível de aplicativo Adicionar-ins de Outro soluções do Office.

  9. O Tempo de execução Ferramentas do Visual Studio para o Office chama o método ThisAddIn_Startup na sua Adicionar - in.Esse método é o manipulador de eventos padrão para o evento Startup . Para obter mais informações, consulte O Visual Studio Tools for Office Projeto eventos.

Comportamento de desligamento do Outlook 2003 Adicionar-ins

Se você estiver migrando um existente Outlook 2003 COM Adicionar-in (ou seja, um suplemento que diretamente implementa a interface de IDTExtensibility2 ) a Ferramentas do Visual Studio para o Office, Remover qualquer código que foi projetado para funcionar em torno de possíveis problemas de desligamento.Caso contrário, esse código poderia gerar conflito com o processo de desligamento para o Outlook 2003 Adicionar-ins criados usando Ferramentas do Visual Studio para o Office, ou o Adicionar-in pode ser descarregado prematuramente.

Observação:

T comportamento de he descrito nesta seção não Aplicar ao Outlook 2007 Adicionar-ins.O Outlook 2007 sempre chama o Método de OnDisconnection em um Adicionar-in, mesmo se o suplemento ainda tiver referências para objetos do Outlook.

Plano de fundo do problema de desligamento

Desde que um suplemento COM tem uma referência a um ou mais objetos do Outlook, o Outlook 2003 não chama o método OnDisconnection no Adicionar-in.Se o Adicionar - in possui referências a objetos que são limpos somente no método OnDisconnection , o Outlook 2003 nunca chama o método de OnDisconnection.Como resultado, o Adicionar - in nunca for descarregado, e Outlook 2003 nunca desligar.

Como o Visual Studio Tools for Office resolva o problema de desligamento

O Outlook 2003 Adicionar-ins criados usando Ferramentas do Visual Studio para o Office é descarregados de forma que evita esse problema.O Tempo de execução Ferramentas do Visual Studio para o Office dispara o evento Shutdown do Adicionar - in e descarrega o domínio de aplicativo do Adicionar - se a Adicionar - in não possui referências a quaisquer Explorer ou Inspector objetos quando ocorrer um dos seguintes:

Quando o domínio de aplicativo é descarregado, Tudo as referências pendentes a outros objetos do Outlook são limpos e Outlook 2003, em seguida, pode desligar Para Baixo o Adicionar-in e saída.

Consulte também

Conceitos

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

O Visual Studio Tools for Visão geral de tempo de execução do Office

Programação Application-Nível Adicionar-ins

Desenvolvendo soluções do Office

Outros recursos

Arquitetura do Ferramentas do Visual Studio para soluções do Office Arquitetura das Soluções das Ferramentas do Visual Studio para o Office

Segurança em soluções do Office

Implantar soluções do Office