Primäre Interopassemblys in Office
Zur Verwendung der Funktionen einer Microsoft Office-Anwendung in einem Office-Projekt müssen Sie die primäre Interopassembly (PIA) für diese Anwendung verwenden. Die PIA ermöglicht es verwaltetem Code, mit dem COM-basierten Objektmodell einer Microsoft Office-Anwendung zu interagieren.
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 Verweise auf zusätzliche PIAs hinzufügen (beispielsweise, wenn Sie eine Funktion von Microsoft Office Word in einem Projekt für Microsoft Office Excel verwenden möchten).
In diesem Thema werden die folgenden Aspekte der Verwendung von Microsoft Office PIAs in Office-Projekten beschrieben:
Separate primäre Interopassemblys zum Erstellen und Ausführen von Projekten
Verwenden von Features mehrerer Microsoft Office-Anwendungen in einem einzelnen Projekt
Vollständige Liste primärer Interopassemblys für Microsoft Office-Anwendungen
Weitere Informationen über primäre Interop-Assemblys finden Sie unter Primäre Interop-Assemblys.
Separate primäre 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:
In einem Ordner im Verzeichnis Programme.
Diese Kopien der Assemblys werden verwendet, wenn Sie Code schreiben und Projekte erstellen. Visual Studio installiert diese Assemblys automatisch.
Im globalen Assemblycache.
Diese Kopien der Assemblys werden während einiger Entwicklungsaufgaben verwendet, z. B., wenn Sie Projekte ausführen oder debuggen, die auf .NET Framework 3.5 abzielen. Visual Studio installiert und registriert diese Assemblys nicht; Sie müssen dies selbst tun.
Primäre Interopassemblys im Verzeichnis "Programme"
Bei der Installation von Visual Studio werden die PIAs automatisch an einem Speicherort im Dateisystem außerhalb des globalen Assemblycaches installiert. 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.
Diese Kopien der PIAs helfen dabei, mehrere Entwicklungsprobleme im Zusammenhang mit Visual Studio zu vermeiden. Diese können auftreten, wenn unterschiedliche Versionen der PIAs im globalen Assemblycache registriert werden.
Visual Studio installiert diese Kopien der PIAs an den folgenden Speicherorten auf dem Entwicklungscomputer:
%ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12
(oder %Programme(x86)%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office12 auf 64-Bit-Betriebssystemen)
%Programme%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14
(oder %Programme(x86)%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\Office14 auf 64-Bit-Betriebssystemen)
Installieren von primären 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 PIAs müssen auch auf Endbenutzercomputern im globaler Assemblycache installiert und registriert sein, um Office-Projektmappen auszuführen, für die als Zielversion .NET Framework 3.5 festgelegt wurde. Die Office-PIAs sind jedoch auf Endbenutzercomputern nicht erforderlich, um Office-Lösungen auszuführen, für die als Zielversion .NET Framework 4 festgelegt wurde. Weitere Informationen finden Sie unter Entwerfen und Erstellen von Office-Lösungen.
Verwenden von Features mehrerer Microsoft Office-Anwendungen in einem einzelnen Projekt
Jede Office-Projektvorlage in Visual Studio wird entworfen, um mit einer einzelnen Microsoft Office-Anwendung zu arbeiten. Um Funktionen in mehreren Microsoft Office-Anwendungen oder in einer Anwendung bzw. Komponente zu verwenden, die kein Projekt in Visual Studio besitzt, müssen Sie einen Verweis auf die erforderlichen PIAs hinzufügen.
In den meisten Fällen sollten Sie Verweise auf die primären Interopassemblys (PIAs) hinzufügen, die von Visual Studio im Verzeichnis %ProgramFiles%\Microsoft Visual Studio 10.0\Visual Studio Tools for Office\PIA\ installiert werden. Diese Versionen der Assemblys werden im Dialogfeld Verweis hinzufügen auf der Registerkarte .NET angezeigt. Weitere Informationen finden Sie unter Verweisen auf Office-Anwendungen durch primäre Interopassemblys.
Wenn Sie die PIAs im globalen Assemblycache installiert und registriert haben, werden diese Versionen im Dialogfeld Verweis hinzufügen auf der Registerkarte COM angezeigt. Vermeiden Sie es, Verweise auf diese Versionen hinzuzufügen, da sonst bei ihrer Verwendung Entwicklungsprobleme auftreten können. Wenn verschiedene Versionen der PIAs im globalen Assemblycache registriert sind, bindet das Projekt automatisch an die Version der Assembly, die zuletzt registriert wurde - auch dann, wenn Sie im Dialogfeld Verweis hinzufügen auf der Registerkarte COM eine andere Version angeben.
Tipp
Einige Assemblys werden einem Projekt automatisch hinzugefügt, wenn eine Assembly hinzugefügt wird, die auf sie verweist. Verweise auf die Assemblys Office.dll und Microsoft.Vbe.Interop.dll werden beispielsweise automatisch hinzugefügt, wenn Sie einen Verweis auf die Word-, Excel-, Outlook-, Microsoft Forms- oder Graph-Assembly hinzufügen.
Primäre Interopassemblys für Microsoft Office-Anwendungen
In der folgenden Tabelle sind die primären Interopassemblys aufgelistet, die für Microsoft Office 2010 und das System 2007 Microsoft Office zur Verfügung stehen.
Office-Anwendung oder Office-Komponente |
Name der primären Interopassembly |
---|---|
Microsoft Access 12.0-Objektbibliothek Microsoft Access 14.0-Objektbibliothek |
Microsoft.Office.Interop.Access.dll |
Objektbibliothek des Microsoft Office 2007 Access-Datenbankmoduls Objektbibliothek des Microsoft Office 14.0 Access-Datenbankmoduls |
Microsoft.Office.Interop.Access.Dao.dll |
Microsoft Excel 12.0-Objektbibliothek Microsoft Excel 14.0-Objektbibliothek |
Microsoft.Office.Interop.Excel.dll |
Microsoft Graph 12.0-Objektbibliothek (wird von PowerPoint, Access und Word für Diagramme verwendet) Microsoft Graph 14.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-Interopassembly (nur für InfoPath 2007) |
Microsoft.Office.Interop.InfoPath.Xml.dll |
Microsoft Office 12.0-Objektbibliothek (gemeinsam genutzte Office-Funktionen) Microsoft Office 14.0-Objektbibliothek (gemeinsam genutzte Office-Funktionen) |
office.dll |
Microsoft Office Outlook-Ansichtensteuerelement (kann auf Webseiten und in Anwendungen für den Zugriff auf den Posteingang verwendet werden) |
Microsoft.Office.Interop.OutlookViewCtl.dll |
Microsoft Outlook 12.0-Objektbibliothek Microsoft Outlook 14.0-Objektbibliothek |
Microsoft.Office.Interop.Outlook.dll |
Microsoft PowerPoint 12.0-Objektbibliothek Microsoft PowerPoint 14.0-Objektbibliothek |
Microsoft.Office.Interop.PowerPoint.dll |
Microsoft Project 12.0-Objektbibliothek Microsoft Project 14.0-Objektbibliothek |
Microsoft.Office.Interop.MSProject.dll |
Microsoft Publisher 12.0-Objektbibliothek Microsoft Publisher 14.0-Objektbibliothek |
Microsoft.Office.Interop.Publisher.dll |
Microsoft SharePoint Designer 12.0-Webobjekt-Verweisbibliothek Microsoft SharePoint Designer 14.0-Webobjekt-Verweisbibliothek |
Microsoft.Office.Interop.SharePointDesigner.dll |
Microsoft SharePoint Designer 12.0-Seitenobjekt-Verweisbibliothek 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.Weitere Informationen finden Sie unter Übersicht über Smarttags.
|
Microsoft.Office.Interop.SmartTag.dll |
Microsoft Visio 12.0-Typbibliothek Microsoft Visio 14.0-Typbibliothek |
Microsoft.Office.Interop.Visio.dll |
Microsoft Visio 12.0-Typbibliothek für "Speichern als Web" Microsoft Visio 14.0-Typbibliothek für "Speichern als Web" |
Microsoft.Office.Interop.Visio.SaveAsWeb.dll |
Microsoft Visio 12.0-Typbibliothek für Zeichnungssteuerelemente Microsoft Visio 14.0-Typbibliothek für Zeichnungssteuerelemente |
Microsoft.Office.Interop.VisOcx.dll |
Microsoft Word 12.0-Objektbibliothek Microsoft Word 14.0-Objektbibliothek |
Microsoft.Office.Interop.Word.dll |
Microsoft Visual Basic for Applications Erweiterung 5.3 |
Microsoft.Vbe.Interop.dll |
Bindung der Assemblyumleitung
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 tragen dazu bei, dass die richtige Version der primären Interopassemblys zur Laufzeit geladen wird. Wenn eine Projektmappe, die auf eine primäre Interopassembly für Microsoft Office 2007 verweist, beispielsweise auf einem Computer mit der Microsoft Office 2010-Version derselben primären Interopassembly ausgeführt wird, weist die Umleitung der Assemblybindung die .NET Framework-Laufzeit an, die Microsoft Office 2010-Version der primären Interopassembly zu laden. Weitere Informationen finden Sie unter Umleitung der Assemblybindung.
Jede Bindungsumleitungsassembly verfügt über einen Namen im Format Policy.11.0.PIA-Name.dll oder Policy.12.0.PIA-Name.dll, z. B. Policy.11.0.Microsoft.Office.Interop.Excel.dll und Policy.12.0.Microsoft.Office.Interop.Excel.dll.
Siehe auch
Aufgaben
Verweisen auf Office-Anwendungen durch primäre Interopassemblys
Konzepte
Übersicht über das Visio-Objektmodell
Weitere Ressourcen
Übersicht über das Excel-Objektmodell
Übersicht über das Outlook-Objektmodell