assemblies de Interoperabilidade primária do Office

Para usar os recursos de um aplicativo do Microsoft Office a partir de um projeto do Office, você deve usar o PIA (assembly de interoperabilidade primário ) para o aplicativo. O PIA permite que código gerenciado interaja com modelo de objeto baseado em COM de um aplicativo do Microsoft Office.

Observação

Interessado em desenvolver soluções que estendam a experiência do Office em várias plataformas? Confira o novo modelo de Suplementos do Office. Os Suplementos do Office têm um espaço pequeno em comparação com os suplementos e soluções VSTO, e você pode criá-los usando praticamente qualquer tecnologia de programação da Web, como HTML5, JavaScript, CSS3 e XML.

Quando você cria um novo projeto do Office, o Visual Studio adiciona referências aos PIAs necessários na compilação do projeto. Em alguns cenários, talvez seja necessário adicionar referências a outros PIAs (por exemplo, você pode usar um recurso do Microsoft Office Word em um projeto para o Microsoft Office Excel).

Este artigo descreve os seguintes aspectos do uso do Microsoft Office PIAs em projetos do Office:

Para obter mais informações sobre assemblies de interoperabilidade primários, consulte Assemblies de interoperabilidade primária.

Assemblies de interoperabilidade primários separados para criar e executar projetos

O Visual Studio usa diferentes conjuntos de PIAs no computador de desenvolvimento. Esses diferentes conjuntos de assemblies estão nos seguintes locais:

  • Uma pasta no diretório de arquivos de programa

    Esse conjunto de assemblies é usado quando você escreve código e cria projetos. O Visual Studio instala esses assemblies automaticamente.

  • O cache de assembly global

    Esse conjunto de assemblies é usado durante algumas tarefas de desenvolvimento, como quando você executa ou depura projetos. O Visual Studio não instala e registra esses assemblies; você precisa fazer isso sozinho.

Assemblies de interoperabilidade primários no diretório de arquivos de programa

Os PIAs são adicionados automaticamente a um local no sistema de arquivos, fora do cache de assembly global, enquanto você instala o Visual Studio. Quando você cria um novo projeto, o Visual Studio adiciona automaticamente referências a essas cópias de PIAs ao seu projeto. O Visual Studio usa essas cópias de PIAs, em vez dos assemblies no cache de assembly global, para resolver referências de tipo quando você desenvolve e compila seu projeto.

Quando diferentes versões dos PIAs são registradas no cache de assembly global, você pode enfrentar vários problemas de desenvolvimento. As cópias adicionadas de PIAs irão ajudá-lo a evitar tais problemas.

Para Visual Studio 2017 e posterior, essas cópias dos PIAs são instaladas nos seguintes locais compartilhados no computador de desenvolvimento:

  • %ProgramFiles%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\

  • (ou %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ em sistemas operacionais de 64 bits)

Observação

Para versões mais antigas do Visual Studio, esses PIAs serão instalados na pasta Visual Studio Tools for Office\PIA %ProgramFiles% na pasta para essa versão do Visual Studio. Por exemplo, %ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\

Assemblies de interoperabilidade primários no cache de assembly global

Para realizar certas tarefas de desenvolvimento, os PIAs devem ser instalados e registrados no cache de assembly global no computador de desenvolvimento. Normalmente, os PIAs são instalados automaticamente quando você instala o Office no computador de desenvolvimento. Para obter mais informações, consulte Configurar um computador para desenvolver soluções do Office.

Os PIAs do Office não são necessários em computadores de usuários finais para executar soluções do Office. Para obter mais informações, consulte Projetar e criar soluções do Office.

Usar recursos de vários aplicativos do Microsoft Office em um único projeto

Cada modelo de projeto do Office em Visual Studio é projetado para funcionar com um único aplicativo do Microsoft Office. Para usar recursos em vários aplicativos do Microsoft Office ou para usar recursos em um aplicativo ou componente que não tenha um projeto no Visual Studio, você deve adicionar uma referência aos PIAs necessários.

Na maioria dos casos, você deve adicionar referências aos PIAs que são instalados pelo Visual Studio no %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ diretório. Essas versões dos assemblies aparecem na guia Framework da caixa de diálogo Gerenciador de Referência. Para obter mais informações, consulte Como direcionar aplicativos do Office por meio de assemblies de interoperabilidade primários.

Se você instalou e registrou os PIAs no cache global de assemblies, essas versões dos assemblies aparecem na guia COM da caixa de diálogo Gerenciador de Referência. Evite adicionar referências a essas versões dos assemblies, porque há alguns problemas de desenvolvimento que podem ocorrer quando você usá-los. Por exemplo, se você tiver registrado versões diferentes dos PIAs no cache global de assemblies, seu projeto será automaticamente vinculado à versão do assembly que foi registrada por último, mesmo se você especificar uma versão diferente do assembly na guia COM da caixa de diálogo Gerenciador de Referência.

Observação

Alguns assemblies são adicionados a um projeto automaticamente quando um assembly que lhes faz referência é adicionado. Por exemplo, as referências aos assemblies e Microsoft.Vbe.Interop.dll são adicionadas Office.dll automaticamente quando você adiciona uma referência aos assemblies do Word, Excel, Outlook, Microsoft Forms ou Graph.

Assemblies de interoperabilidade primários para aplicativos do Microsoft Office

A tabela a seguir lista os assemblies de interoperabilidade primários disponíveis para o Office 2016, Office 2013 e Office 2010.


Aplicativo ou componente do Office Nome do assembly de interoperabilidade primário
Biblioteca de Objetos do Microsoft Access 14.0

Biblioteca de Objetos do Microsoft Access 15.0
Microsoft.Office.Interop.Access.dll
Biblioteca de Objetos do Mecanismo de Banco de Dados do Microsoft Office 14.0 Access

Biblioteca de Objetos do Mecanismo de Banco de Dados do Microsoft Office 15.0 Access
Microsoft.Office.Interop.Access.Dao.dll
Biblioteca de Objetos do Microsoft Excel 14.0

Biblioteca de Objetos do Microsoft Excel 15.0
Microsoft.Office.Interop.Excel.dll
Biblioteca de Objetos do Microsoft Graph 14.0 (usado pelo PowerPoint, Access e Word para gráficos)

Biblioteca de Objetos do Microsoft Graph 15.0
Microsoft.Office.Interop.Graph.dll
Biblioteca de Tipos do Microsoft InfoPath 2.0 (apenas para InfoPath 2007) Microsoft.Office.Interop.InfoPath.dll
Assembly de Interoperabilidade do Microsoft InfoPath XML (apenas para InfoPath 2007) Microsoft.Office.Interop.InfoPath.Xml.dll
Biblioteca de Objetos do Microsoft Office 14.0 (funcionalidade compartilhada do Office)

Biblioteca de Objetos do Microsoft Office 15.0 (funcionalidade compartilhada do Office)
office.dll
Controle de Exibição do Microsoft Office Outlook (pode ser usado em páginas Web e aplicativos para acessar a sua caixa de entrada) Microsoft.Office.Interop.OutlookViewCtl.dll
Biblioteca de Objetos do Microsoft Outlook 14.0

Biblioteca de Objetos do Microsoft Outlook 15.0
Microsoft.Office.Interop.Outlook.dll
Biblioteca de Objetos do Microsoft PowerPoint 14.0

Biblioteca de Objetos do Microsoft PowerPoint 15.0
Microsoft.Office.Interop.PowerPoint.dll
Biblioteca de Objetos do Microsoft Project 14.0

Biblioteca de Objetos do Microsoft Project 15.0
Microsoft.Office.Interop.MSProject.dll
Biblioteca de Objetos do Microsoft Publisher 14.0

Biblioteca de Objetos do Microsoft Publisher 15.0
Microsoft.Office.Interop.Publisher.dll
Biblioteca de Referência de Objetos da Web do Microsoft SharePoint Designer 14.0 Microsoft.Office.Interop.SharePointDesigner.dll
Biblioteca de Referência de Objetos de Página do Microsoft SharePoint Designer 14.0 Microsoft.Office.Interop.SharePointDesignerPage.dll
Observação da Biblioteca de Tipos de Marcas Inteligentes da Microsoft 2.0: as marcas inteligentes foram preteridas no Excel 2010 e no Word 2010. Microsoft.Office.Interop.SmartTag.dll
Biblioteca de Tipos do Microsoft Visio 14.0

Biblioteca de Tipos do Microsoft Visio 15.0
Microsoft.Office.Interop.Visio.dll
Biblioteca de Tipos Salvar como Web do Microsoft Visio 14.0

Biblioteca de Tipos Salvar como Web do Microsoft Visio 15.0
Microsoft.Office.Interop.Visio.SaveAsWeb.dll
Biblioteca de Tipos de Controle de Desenho do Microsoft Visio 14.0

Biblioteca de Tipos de Controle de Desenho do Microsoft Visio 15.0
Microsoft.Office.Interop.VisOcx.dll
Biblioteca de Objetos do Microsoft Word 14.0

Biblioteca de Objetos do Microsoft Word 15.0
Microsoft.Office.Interop.Word.dll
Microsoft Visual Basic for Applications Extensibility 5.3 Microsoft.Vbe.Interop.dll

Vinculando assemblies de redirecionamento

Quando você instala e registra os PIAs do Office no cache de assembly global (seja com o Office ou instalando o pacote redistribuível para PIAs), os assemblies de redirecionamento de associação também são instalados apenas no cache de assembly global. Esses assemblies garantem que a versão correta dos assemblies de interoperabilidade primários seja carregada em tempo de execução.

Por exemplo, quando uma solução que faz referência a um assembly do Office 2010 é executada em um computador que tenha a versão do Office 2013 do mesmo assembly de interoperabilidade primário, o assembly de redirecionamento de vinculação instrui o tempo de execução do .NET Framework a carregar a versão do Office 2013 do assembly de interoperabilidade primário.

Para obter mais informações, consulte Como: Habilitar e desabilitar o redirecionamento automático de vinculação.