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

Para executar soluções que são criadas usando as ferramentas de desenvolvedor do Microsoft Office no Visual Studio, o Visual Studio 2010 Tools for Office runtime deve ser instalado em computadores de usuário final. Para obter mais informações, consulte Como: Instalar o Visual Studio Tools for Office runtime redistribuível. O Visual Studio 2010 Tools for Office runtime consiste em dois componentes principais:

  • As extensões do Office para o .NET Framework. Esses componentes são assemblies gerenciados que fornecem a camada de comunicação entre a sua solução e o aplicativo do Microsoft Office. Para obter mais informações, consulte Compreender as extensões do Office para o .NET Framework.

  • O carregador de solução do Office. Esse componente é um conjunto de DLLs não gerenciadas que os aplicativos do Office usam para carregar o runtime e suas soluções. Para obter mais informações, consulte Compreender o carregador de soluções do Office.

    O runtime pode ser instalado de várias maneiras diferentes. Dependendo da configuração do computador, os diferentes componentes de runtime são instalados durante a instalação do runtime. Para obter mais informações, consulte Visual Studio Tools for Office runtime installation scenarios.

Compreender as extensões do Office para o .NET Framework

O tempo de execução do Visual Studio 2010 Tools for Office inclui extensões do Office para o .NET Framework 3.5, o .NET Framework 4 e posterior. As soluções que se destinam a cada versão do .NET Framework usam as extensões apropriadas para a versão em questão.

Essas extensões consistem em assemblies que suas soluções usam para automatizar e estender os aplicativos do Office. Quando você cria um projeto do Office, o Visual Studio adiciona automaticamente as referências aos assemblies que são usados para o tipo de projeto e o .NET Framework de destino do projeto. Para obter mais informações sobre os assemblies nas extensões do Office, consulte Assemblies no tempo de execução do Visual Studio Tools for Office.

Diferenças de design nas extensões do Office

A maioria dos tipos usados por você nas extensões do Office para o .NET Framework 3.5 é de classes. Essas são as mesmas classes que foram incluídas em versões anteriores do Visual Studio Tools for Office runtime . Por outro lado, a maioria dos tipos que você usa nas extensões do Office para o .NET Framework 4 ou posterior são interfaces. Por exemplo, quando você direciona o .NET Framework 4 ou posterior, os Worksheet tipos e Document são interfaces em vez de classes.

Na maioria dos casos, o código que você escreve nas soluções do Office é o mesmo se sua solução tem como alvo o .NET Framework 3.5 ou o .NET Framework 4. No entanto, alguns recursos exigem um código diferente quando você tem como destino versões diferentes do .NET Framework. Para obter mais informações, consulte Migrar soluções do Office para o .NET Framework 4 ou posterior.

Interfaces nas extensões do Office para o .NET Framework 4 ou posterior

A maioria das interfaces nas extensões do Office para o .NET Framework 4 ou posterior não se destinam a ser implementadas pelo código do usuário. As únicas interfaces que você pode implementar diretamente têm nomes que começam com a letra I, como ISmartTagExtension.

Todas as interfaces que não começam com a letra I são implementadas internamente pelo tempo de execução do Visual Studio 2010 Tools for Office, e essas interfaces podem ser alteradas em versões futuras. Para criar objetos que implementam essas interfaces, use os métodos fornecidos pelo objeto Globals.Factory no seu projeto. Por exemplo, para obter um objeto que implemente a interface SmartTag, use o método Globals.Factory.CreateSmartTag. Para obter mais informações sobre Globals.Factoryo , consulte Acesso global a objetos em projetos do Office.

Habilitar equivalência de tipo e tipos incorporados em projetos destinados ao .NET Framework 4 ou posterior

Como o modelo de objeto das extensões do Office para o .NET Framework 4 ou posterior são baseados em interfaces, você pode usar o recurso de equivalência de tipo no Visual C# e Visual Basic no Visual Studio para incorporar informações de tipo do Visual Studio Tools for Office runtime em sua solução. Esse recurso permite que as soluções do Office e o tempo de execução do Visual Studio Tools for Office sejam versões independentes umas das outras. Por exemplo, se sua solução usar a interface Document como um tipo inserido e a próxima versão de runtime adicionar membros à interface Document, sua solução ainda funcionará com a próxima versão de runtime. Se sua solução não usar a Document interface como um tipo incorporado, sua solução não funcionará mais com a próxima versão do tempo de execução.

Por padrão, o recurso de equivalência de tipo não é habilitado quando você cria um projeto do Office destinado ao .NET Framework 4 ou posterior. Se você quiser habilitar esse recurso, defina a propriedade Embed Interop Types de qualquer uma das seguintes referências de assembly em seu projeto como True:

  • Microsoft.Office.Tools.dll

  • Microsoft.Office.Tools.Common.dll

  • Microsoft.Office.Tools.Excel.dll

  • Microsoft.Office.Tools.Outlook.dll

  • Microsoft.Office.Tools.Word.dll

    Depois de fazer essa alteração, as informações de tipo para todos os tipos de runtime usados pelo projeto são inseridas no assembly da solução quando você compila o projeto. Essas informações de tipo incorporadas, em vez das informações de tipo nos assemblies referenciados, são usadas pela solução em tempo de execução.

Compreender o carregador de soluções do Office

O Visual Studio Tools for Office runtime inclui várias DLLs não gerenciadas que os aplicativos do Office usam para carregar o tempo de execução e as soluções do Office. Embora você nunca deva ter que trabalhar com essas DLL diretamente, saber as finalidades delas podem ajudar a compreender melhor a arquitetura das soluções do Office.

Para obter informações sobre como esses componentes são usados durante o processo de carregamento, consulte Arquitetura de personalizações em nível de documento e Arquitetura de suplementos VSTO.

VSTOEE.dll

Quando um usuário abre uma personalização em nível de documento ou inicia um suplemento VSTO, o aplicativo do Office chama VSTOEE .dll para executar as tarefas necessárias para carregar o Visual Studio Tools for Office runtime .

VSTOEE .dll certifica-se de que a versão correta do Visual Studio Tools for Office runtime é carregada para a solução e a versão instalada do Office. Embora várias versões do Visual Studio Tools for Office runtime podem ser instaladas no mesmo computador, apenas uma instância do VSTOEE .dll é instalada por vez. Este é o VSTOEE .dll que foi incluído com a versão mais recente do tempo de execução instalado no computador. Para obter mais informações sobre as diferentes versões do Visual Studio Tools for Office runtime que podem ser usadas para outras soluções, consulte Executar soluções em diferentes versões do Microsoft Office.

VSTOLoader.dll

Após VSTOEE .dll carrega a versão apropriada do Visual Studio Tools for Office runtime , VSTOLoader.dll executa a maior parte do trabalho necessário para carregar o assembly de solução. VSTOLoader.dll faz várias coisas:

  • Cria um domínio de aplicativo para cada assembly da solução.

  • Executa um conjunto de verificações de segurança para verificar se o assembly da solução tem permissão para executar.

  • Carrega a versão das extensões do Office para o .NET Framework que é exigida pela solução.

    VSTOLoader.dll também faz várias coisas que são específicas para VSTO Add-ins:

  • Implementa a interface IDTExtensibility2. IDTExtensibility2 é uma interface COM que todos os suplementos VSTO para aplicativos do Microsoft Office devem implementar. Essa interface define os métodos que o aplicativo chama para se comunicar com o suplemento VSTO.

  • Ele implementa a interface IManagedAddin. Essa interface é usada por aplicativos do Office para ajudar a carregar suplementos VSTO. Para obter mais informações, consulte Interface IManagedAddin.

Compreender as versões de 32 bits e 64 bits do tempo de execução

Há versões separadas de 64 bits e 32 bits do tempo de execução do Visual Studio 2010 Tools for Office. Essas versões do tempo de execução são usadas para executar soluções em edições de 64 bits e 32 bits do Office. A tabela a seguir mostra qual versão do tempo de execução é necessária para cada combinação do Windows e do Office.

Edição do Windows Edição do Microsoft Office Versão necessária do Visual Studio Tools for Office Runtime
32 bits 32 bits 32 bits
64 bits 32 bits 64 bits
64 bits 64 bits 64 bits

Quando você instala o Office, a versão necessária do Visual Studio Tools for Office runtime é instalada junto com o Office. Por exemplo, quando você instala a edição de 64 bits do Office em uma versão de 64 bits do Windows, a versão de 64 bits do tempo de execução do Visual Studio Tools for Office também é instalada. Para obter mais informações sobre como instalar o Visual Studio Tools for Office runtime com o Office, consulte Visual Studio Tools for Office runtime installation scenarios.

A versão de 64 bits do Office também pode executar soluções do Office que foram criadas usando modelos de projeto para o 2007 Microsoft Office System no Visual Studio 2008. No entanto, ela não pode executar soluções do Office criadas com modelos de projeto do Microsoft Office 2003 no Visual Studio 2008 nem soluções do Office criadas com o Visual Studio 2005. Para obter mais informações, consulte Executar soluções em diferentes versões do Microsoft Office.

Reparar o tempo de execução do Visual Studio 2010 Tools for Office

Se você precisar reparar o tempo de execução, abra Programas e Recursos ou Adicionar ou Remover Programas no Painel de Controle, selecione Microsoft Visual Studio 2010 Tools for Office Runtime na lista de programas e clique em Desinstalar. O programa de instalação que é executado permite que você repare o runtime. Se você clicar em Alterar, não será dada uma opção para reparar o tempo de execução.