Primäre Interop-Assemblys in Office

Zur Verwendung der Funktionen einer Microsoft Office-Anwendung in einem Office-Projekt müssen Sie die primäre Interop-Assembly (PIA) für diese Anwendung verwenden. Die PIA ermöglicht es verwaltetem Code, mit dem COM-basierten Objektmodell einer Microsoft Office-Anwendung zu interagieren.

Hinweis

Möchten Sie Lösungen entwickeln, die die Office-Erfahrung auf mehreren Plattformen erweitern? Schauen Sie sich das neue Office-Add-Ins-Modell an. Office-Add-Ins haben im Vergleich zu VSTO-Add-Ins und -Lösungen einen geringen Platzbedarf, und Sie können diese mithilfe nahezu jeder Webprogrammiertechnologie erstellen, z. B. HTML5, JavaScript, CSS3 und XML.

Wenn Sie ein neues Office-Projekt erstellen, fügt Visual Studio Verweise auf die PIAs hinzu, die zum Erstellen des Projekts erforderlich sind. In einigen Szenarien müssen Sie möglicherweise Verweise auf andere PIAs hinzufügen (z. B. können Sie ein Feature von Microsoft Office Word in einem Projekt für Microsoft Office Excel verwenden).

In diesem Artikel werden die folgenden Aspekte der Verwendung der Microsoft Office-PIAs in Office-Projekten beschrieben:

Weitere Informationen zu primären Interopassemblys finden Sie unter primäre Interopassemblys.

Trennen von primären Interopassemblys zum Erstellen und Ausführen von Projekten

Visual Studio verwendet unterschiedliche Sätze von PIAs auf dem Entwicklungscomputer. Diese unterschiedlichen Assemblysätze befinden sich an den folgenden Speicherorten:

  • Ein Ordner im Verzeichnis der Programmdateien

    Dieser Satz der Assemblys wird verwendet, wenn Sie Code schreiben und Projekte erstellen. Visual Studio installiert diese Assemblys automatisch.

  • Der globale Assemblycache

    Dieser Satz der Assemblys wird während einiger Entwicklungsaufgaben verwendet, z. B. wenn Sie Projekte ausführen oder debuggen. Visual Studio installiert und registriert diese Assemblys nicht. Sie müssen dies selbst tun.

Primäre Interopassemblys im Verzeichnis der Programmdateien

Die PIAs werden automatisch zu einem Speicherort im Dateisystem außerhalb des globalen Assemblycaches hinzugefügt, während Sie Visual Studio installieren. Wenn Sie ein neues Projekt erstellen, fügt Visual Studio automatisch Verweise auf diese Kopien der PIAs zu Ihrem Projekt hinzu. Visual Studio verwendet diese PIA-Kopien anstelle der Assemblys im globalen Assemblycache, um Typverweise aufzulösen, wenn Sie das Projekt entwickeln und erstellen.

Wenn verschiedene Versionen der PIAs im globalen Assemblycache registriert sind, können Sie mehrere Entwicklungsprobleme haben. Die hinzugefügten Kopien von PIAs helfen Ihnen, solche Probleme zu vermeiden.

Für Visual Studio 2017 und höher werden diese Kopien der PIAs auf den folgenden freigegebenen Speicherorten auf dem Entwicklungscomputer installiert:

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

  • (oder %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ auf 64-Bit-Betriebssystemen)

Hinweis

Bei älteren Versionen von Visual Studio werden diese PIAs im Ordner "Visual Studio-Tools für Office\PIA" unter dem %ProgramFiles% Ordner für diese Version von Visual Studio installiert. Beispiel: %ProgramFiles(x86)%\Microsoft Visual Studio 14.0\Visual Studio Tools for Office\PIA\

Primäre Interopassemblys im globalen Assemblycache

Für die Ausführung bestimmter Entwicklungsaufgaben müssen die PIAs im globalen Assemblycache auf dem Entwicklungscomputer installiert und registriert sein. In der Regel werden die PIAs automatisch installiert, wenn Sie Office auf dem Entwicklungscomputer installieren. Weitere Informationen finden Sie unter Konfigurieren eines Computers zum Entwickeln von Office-Lösungen.

Die Office-PIAs sind nicht auf Endbenutzercomputern erforderlich, um Office-Lösungen auszuführen. Weitere Informationen finden Sie unter Entwerfen und Erstellen von Office-Lösungen.

Verwenden von Features mehrerer Microsoft Office-App lizenzen in einem einzelnen Projekt

Jede Office-Projektvorlage in Visual Studio wird im Hinblick auf die Arbeit mit einer einzelnen Microsoft Office-Anwendung entworfen. Um Features in mehreren Microsoft Office-App lizenzen zu verwenden oder Features in einer Anwendung oder Komponente zu verwenden, die nicht über ein Projekt in Visual Studio verfügt, müssen Sie einen Verweis auf die erforderlichen PIAs hinzufügen.

In den meisten Fällen sollten Sie Verweise auf die piAs hinzufügen, die von Visual Studio unter dem %ProgramFiles(x86)%\Microsoft Visual Studio\Shared\Visual Studio Tools for Office\PIA\ Verzeichnis installiert werden. Diese Versionen der Assemblys werden auf der Registerkarte "Framework " des Dialogfelds "Verweis-Manager " angezeigt. Weitere Informationen finden Sie unter How to: Target Office-App lications through primary interop assemblies.

Wenn Sie die PIAs im globalen Assemblycache installiert und registriert haben, werden diese Versionen der Assemblys auf der COM-Registerkarte des Dialogfelds "Verweis-Manager " angezeigt. Vermeiden Sie das Hinzufügen von Verweisen auf diese Versionen der Assemblys, da bei der Verwendung einige Entwicklungsprobleme auftreten können. Wenn Sie z. B. unterschiedliche Versionen der PIAs im globalen Assemblycache registriert haben, wird Ihr Projekt automatisch an die Zuletzt registrierte Assemblyversion gebunden, auch wenn Sie auf der COM-Registerkarte des Dialogfelds "Verweis-Manager " eine andere Version der Assembly angeben.

Hinweis

Einige Assemblys werden einem Projekt automatisch hinzugefügt, wenn eine Assembly hinzugefügt wird, die auf sie verweist. Beispielsweise werden Verweise auf die Office.dll Assemblys und Microsoft.Vbe.Interop.dll Assemblys automatisch hinzugefügt, wenn Sie einen Verweis auf die Word-, Excel-, Outlook-, Microsoft Forms- oder Graph-Assemblys hinzufügen.

Primäre Interopassemblys für Microsoft Office-App lications

In der folgenden Tabelle sind die primären Interopassemblys aufgeführt, die für Office 2016, Office 2013 und Office 2010 verfügbar sind.


Office-Anwendung oder Office-Komponente Name der primären Interop-Assembly
Microsoft Access 14.0-Objektbibliothek

Microsoft Access 15,0-Objektbibliothek
Microsoft.Office.Interop.Access.dll
Objektbibliothek der Microsoft Office 14.0 Access-Datenbank-Engine

Objektbibliothek der Microsoft Office 15.0 Access-Datenbank-Engine
Microsoft.Office.Interop.Access.Dao.dll
Microsoft Excel 14.0-Objektbibliothek

Microsoft Excel 15,0-Objektbibliothek
Microsoft.Office.Interop.Excel.dll
Microsoft Graph 14.0-Objektbibliothek(wird von PowerPoint, Access und Word für Diagramme verwendet)

Microsoft Graph 15.0-Objektbibliothek
Microsoft.Office.Interop.Graph.dll
Microsoft InfoPath 2.0-Typbibliothek (nur für InfoPath 2007) Microsoft.Office.Interop.InfoPath.dll
Microsoft InfoPath-XML-Interop-Assembly (nur für InfoPath 2007) Microsoft.Office.Interop.InfoPath.Xml.dll
Microsoft Office 14.0-Objektbibliothek (gemeinsam genutzte Office-Funktionen)

Microsoft Office 15,0-Objektbibliothek (gemeinsam genutzte Office-Funktionen)
office.dll
Microsoft Office Outlook-Ansichtssteuerelement (kann auf Webseiten und in Anwendungen für den Zugriff auf den Posteingang verwendet werden) Microsoft.Office.Interop.OutlookViewCtl.dll
Microsoft Outlook 14.0-Objektbibliothek

Microsoft Outlook 15,0-Objektbibliothek
Microsoft.Office.Interop.Outlook.dll
Microsoft PowerPoint 14.0-Objektbibliothek

Microsoft PowerPoint 15,0-Objektbibliothek
Microsoft.Office.Interop.PowerPoint.dll
Microsoft Project 14.0-Objektbibliothek

Microsoft Project 15,0-Objektbibliothek
Microsoft.Office.Interop.MSProject.dll
Microsoft Publisher 14.0-Objektbibliothek

Microsoft Publisher 15,0-Objektbibliothek
Microsoft.Office.Interop.Publisher.dll
Microsoft SharePoint Designer 14.0-Webobjekt-Verweisbibliothek Microsoft.Office.Interop.SharePointDesigner.dll
Microsoft SharePoint Designer 14.0-Seitenobjekt-Verweisbibliothek Microsoft.Office.Interop.SharePointDesignerPage.dll
Microsoft Smart Tags 2.0 Typbibliothek Hinweis: Smarttags sind in Excel 2010 und Word 2010 veraltet. Microsoft.Office.Interop.SmartTag.dll
Microsoft Visio 14.0-Typbibliothek

Microsoft Visio 15,0-Typbibliothek
Microsoft.Office.Interop.Visio.dll
Microsoft Visio 14.0-Typbibliothek für "Speichern als Web"

Microsoft Visio 15,0-Typbibliothek für "Speichern als Web"
Microsoft.Office.Interop.Visio.SaveAsWeb.dll
Microsoft Visio 14.0-Typbibliothek für Zeichnungssteuerelemente

Microsoft Visio 15,0-Typbibliothek für Zeichnungssteuerelemente
Microsoft.Office.Interop.VisOcx.dll
Microsoft Word 14.0-Objektbibliothek

Microsoft Word 15,0-Objektbibliothek
Microsoft.Office.Interop.Word.dll
Microsoft Visual Basic for Applications Erweiterung 5.3 Microsoft.Vbe.Interop.dll

Binden von Umleitungsassemblys

Wenn Sie die Office-PIAs im globalen Assemblycache installieren und registrieren (entweder mit Office oder durch das Installieren des verteilbaren Pakets für die PIAs), werden die Bindungsumleitungsassemblys ebenfalls nur im globalen Assemblycache installiert. Diese Assemblys stellen sicher, dass die richtige Version der primären Interopassemblys zur Laufzeit geladen wird.

Wenn beispielsweise eine Lösung, die auf eine Office 2010-Assembly verweist, auf einem Computer mit der Office 2013-Version derselben primären Interopassembly ausgeführt wird, weist die Bindungsumleitungsassembly die .NET Framework-Laufzeit an, die Office 2013-Version der primären Interopassembly zu laden.

Weitere Informationen finden Sie unter How to: Enable and disable automatic binding redirection.