Übersicht über das Programmiermodell von Erweiterungen für SharePoint-Tools
Beim Erstellen einer Erweiterung für die SharePoint-Tools in Visual Studio implementieren Sie zunächst eine oder mehrere Erweiterungsschnittstellen, die von den SharePoint-Tools verfügbar gemacht werden.In den meisten Fällen implementieren Sie Funktionen in der Erweiterung auch mit andere Typen, die von den SharePoint-Tools bereitgestellt werden.In einigen Szenarien können auch Typen in anderen Objektmodellen verwendet werden, die von Visual Studio und SharePoint bereitgestellt werden.Sie müssen wissen, für welchen Zweck die einzelnen Objektmodelle erstellt wurden und wie sie zusammen verwendet werden können, um Erweiterungen für die SharePoint-Tools zu erstellen.
Erweitern der SharePoint-Tools durch Implementieren von Erweiterungsschnittstellen
Visual Studio stellt das Erweiterbarkeitsmodell für die SharePoint-Tools mit dem Managed Extensibility Framework (MEF) in .NET Framework 4 bereit.MEF ist eine (in der System.ComponentModel.Compositions-Assembly implementierte) API, mit der Anwendungen Erweiterungspunkte verfügbar machen sowie Erweiterungen zur Laufzeit erkennen und laden können.Weitere Informationen über MEF finden Sie unter Managed Extensibility Framework (MEF).
Um die SharePoint-Tools zu erweitern, implementieren Sie eine oder mehrere von Visual Studio verfügbar gemachte Erweiterungsschnittstellen.Außerdem müssen Sie das System.ComponentModel.Composition.ExportAttribute sowie ggf. weitere spezifische Attribute für SharePoint-Tools auf ihre Schnittstellenimplementierung anwenden.In der folgenden Tabelle sind die Schnittstellen aufgeführt, die Sie implementieren können, um die SharePoint-Tools zu erweitern.
Schnittstelle |
Description |
---|---|
Implementieren Sie diese Schnittstelle, um einen neuen Typ des SharePoint-Projektelements zu definieren.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Definieren eines SharePoint-Projektelementtyps. |
|
Implementieren Sie diese Schnittstelle, um einen Typ des SharePoint-Projektelements zu erweitern, das bereits in Visual Studio installiert ist.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Erstellen einer SharePoint-Projektelementerweiterung. |
|
Implementieren Sie diese Schnittstelle, um SharePoint-Projekte zu erweitern.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Erstellen einer SharePoint-Projekterweiterung. |
|
Implementieren Sie diese Schnittstelle, um einen neuen Bereitstellungsschritt zu definieren, der ausgeführt werden kann, wenn ein SharePoint-Projektelement bereitgestellt oder zurückgezogen wird.Ein entsprechendes Beispiel finden Sie unter Exemplarische Vorgehensweise: Erstellen eines benutzerdefinierten Bereitstellungsschritts für SharePoint-Projekte. |
|
Implementieren Sie diese Schnittstelle, um einen vorhandenen Knoten unter dem Knoten SharePoint-Verbindungen im Fenster Server Explorer zu erweitern.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Erweitern eines SharePoint-Knotens im Server-Explorer. |
|
Implementieren Sie diese Schnittstelle, um einen neuen Knotentyp unter dem Knoten SharePoint-Verbindungen im Fenster Server-Explorer zu definieren.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Erweitern eines SharePoint-Knotens im Server-Explorer. |
|
Implementieren Sie diese Schnittstelle, um eine benutzerdefinierte Funktionsvalidierungsregel zu definieren.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Erstellen von benutzerdefinierten Funktions- und Paketvalidierungsregeln für SharePoint-Lösungen. |
|
Implementieren Sie diese Schnittstelle, um eine benutzerdefinierte Paketvalidierungsregel zu definieren.Ein entsprechendes Beispiel finden Sie unter Gewusst wie: Erstellen von benutzerdefinierten Funktions- und Paketvalidierungsregeln für SharePoint-Lösungen. |
Nachdem Sie eine Erweiterung der SharePoint-Tools implementiert haben, müssen Sie die Erweiterungsassembly in einem Visual Studio-Erweiterungspaket (VSIX) bereitstellen, damit die Erweiterung von Visual Studio erkannt und geladen werden kann.Weitere Informationen finden Sie unter Bereitstellen von Erweiterungen für die SharePoint-Tools in Visual Studio.
Grundlegendes zu den Objektmodellen in SharePoint-Toolerweiterungen
Beim Erstellen von Erweiterungen für SharePoint-Tools können Sie verschiedene Objektmodelle verwenden:
SharePoint-Tools-Objektmodell.Dieses Objektmodell stellt die Erweiterungsschnittstellen bereit, die implementiert werden, um SharePoint-Tools-Erweiterungen und andere verwandte Typen zu erstellen.
Automatisierungs- und Integrationsobjektmodelle von Visual Studio.Mit diesen Objektmodellen können Sie auf Visual Studio-Funktionen zugreifen, die über den Rahmen des SharePoint-Tools-Objektmodells hinausgehen.
Hinweis Mithilfe des SharePoint-Projektdiensts können einige der Objekte im SharePoint-Tools-Objektmodell in Objekte in den Automatisierungs- und Integrationsobjektmodellen von Visual Studio konvertiert werden und umgekehrt.Weitere Informationen finden Sie unter Konvertieren zwischen SharePoint-Projektsystemtypen und anderen Visual Studio-Projekttypen.
Server- und Clientobjektmodelle von SharePoint.Mit diesen Objektmodellen können Sie eine SharePoint-Website ändern oder Daten aus einer SharePoint-Website im Kontext einer SharePoint-Tools-Erweiterung abrufen.
SharePoint-Tools-Objektmodell
In jeder SharePoint-Tools-Erweiterung wird mit Typen im SharePoint-Tools-Objektmodell das Kernverhalten und die Kernfunktionen der Erweiterung definiert.In der folgenden Tabelle werden die Namespaces beschrieben, die in diesem Objektmodell enthalten sind.
Assembly |
Namespace |
Description |
---|---|---|
Microsoft.VisualStudio.SharePoint.dll |
Enthält Typen, mit denen Sie das SharePoint-Projektsystem erweitern und automatisieren können.Sie können z. B. die integrierten SharePoint-Projekte und -Projektelemente erweitern, oder Sie können eigene Projektelemente erstellen.Weitere Informationen finden Sie unter Erweitern des SharePoint-Projektsystems. |
|
Enthält Typen, mit denen Sie den Bereitstellungsprozess für SharePoint-Projekte erweitern können, beispielsweise durch Erstellen eigener Bereitstellungsschritte und Bereitstellungskonfigurationen.Weitere Informationen finden Sie unter Erweitern von SharePoint-Packen und -Bereitstellen. |
||
Enthält Typen, mit denen Sie Knoten unter dem Knoten SharePoint-Verbindungen im Fenster Server-Explorer erweitern oder neue Knotentypen definieren können.Weitere Informationen finden Sie unter Erweitern des SharePoint-Verbindungsknotens im Server-Explorer. |
||
Enthält Typen, mit denen Sie in einem SharePoint-Projekt auf die Definition von Funktionen zugreifen können. |
||
Enthält Typen, mit denen Sie auf die Paketdefinition in einer SharePoint-Lösung zugreifen können. |
||
Enthält Typen, mit denen Sie das Funktions- und Paketvalidierungsverhalten für SharePoint-Projekte anpassen können.Weitere Informationen finden Sie unter Gewusst wie: Erstellen von benutzerdefinierten Funktions- und Paketvalidierungsregeln für SharePoint-Lösungen. |
||
Microsoft.VisualStudio.SharePoint.Commands.dll |
Enthält Typen, mit denen Sie benutzerdefinierte SharePoint-Befehle erstellen können.Ein SharePoint-Befehl ist eine Methode, die einen Aufruf in das SharePoint-Serverobjektmodell von einer SharePoint-Tools-Erweiterung aus durchführt.Weitere Informationen finden Sie unter Aufrufe in die SharePoint-Objektmodelle. |
|
Microsoft.VisualStudio.SharePoint.Explorer.Extensions.dll |
Enthält Typen, mit denen Sie Informationen zu integrierten Server-Explorer-Knoten abrufen können, die einzelne Komponenten in einer SharePoint-Website darstellen, z. B. ein Knoten, der eine Liste, ein Feld oder einen Inhaltstyp darstellt.Weitere Informationen finden Sie unter Erweitern des SharePoint-Verbindungsknotens im Server-Explorer. |
Visual Studio-Automatisierungsobjektmodell
Das Automatisierungsobjektmodell von Visual Studio stellt APIs bereit, mit denen Sie Visual Studio-Projekte und die IDE automatisieren können.Führen Sie projektbezogene Aufgaben, die nicht spezifisch für SharePoint-Projekte sind, oder andere allgemeine Automatisierungsaufgaben in Visual Studio mit diesem Visual Studio-Objektmodell aus.Traditionell wird dieses Objektmodell häufig in Visual Studio-Add-Ins und Makros verwendet, Sie können es aber auch in SharePoint-Tools-Erweiterungen verwenden.
Der Hauptteil des Visual Studio-Automatisierungsobjektmodells ist in der EnvDTE.dll-Assembly definiert.Die EnvDTE80.dll, EnvDTE90.dll, EnvDTE100.dll- und EnvDTE110.dll-Assemblys stellen zusätzliche Funktionen, die in Visual Studio 2005, in Visual Studio 2008, in Visual Studio 2010 und in Visual Studio 2012 eingeführt wurden, bzw. bereit.Diese Assemblys sind in Visual Studio enthalten.
Weitere Informationen zum Automatisierungsobjektmodell finden Sie unter Erweitern der Visual Studio-Umgebung und Referenz zur Automatisierung und Erweiterbarkeit.
Visual Studio-Integrationsobjektmodell
Das Integrationsobjektmodell stellt APIs bereit, mit denen Sie durch das Erstellen eines VSPackages Visual Studio-Funktionen hinzufügen können.Ein VSPackage ist ein Modul, das die Visual Studio IDE durch benutzerdefinierte Funktionen wie Toolfenster, Editoren, Designer, Dienste und Projekte erweitert.
Sie können das Integrationsobjektmodell verwenden, wenn Sie eine neue Visual Studio-Funktion hinzufügen möchten, die zusammen mit den integrierten SharePoint-Tools verwendet wird.Wenn Sie z. B. ein benutzerdefiniertes SharePoint-Projektelement erstellen, das eine benutzerdefinierte Aktion für eine SharePoint-Website darstellt, können Sie auch ein VSPackage erstellen, das einen Designer für die benutzerdefinierte Aktion implementiert.Sie können den Designer mit der benutzerdefinierten Aktion zuordnen, indem Sie dem Projektelement ein Kontextmenüelement hinzufügen, das die benutzerdefinierte Aktion in Projektmappen-Explorer darstellt.Sie können den Designer öffnen, indem Sie das Kontextmenü (entweder durch das Klicken mit der rechten Maustaste auf das Projektelement Benutzerdefinierte Aktion oder durch Auswählen dieses und die UMSCHALT+F10-Tasten auswählen) öffnen und dann Öffnen auswählen.
Dieses Objektmodell ist in einem Satz mehrerer Assemblys definiert, die im Visual Studio-SDK enthalten sind.Einige der Hauptassemblys in diesem Objektmodell Microsoft.VisualStudio.Shell.11.0.dll, Microsoft.VisualStudio.Shell.Interop.dll und Microsoft.VisualStudio.OLE.Interop.dll.
Weitere Informationen zum Integrationsobjektmodell finden Sie unter Visual Studio-Entwicklungsumgebungs-Modell und Visual Studio-SDK-Referenz.
SharePoint-Objektmodelle
SharePoint-Tools-Erweiterungen können SharePoint-APIs verwenden, um eine SharePoint-Website zu ändern oder Daten von einer SharePoint-Website abzurufen.Microsoft SharePoint Foundation 2010 und Microsoft SharePoint Server 2010 stellen zwei unterschiedliche Objektmodelle bereit: ein Serverobjektmodell und ein Clientobjektmodell.
Sie können APIs aus beiden Objektmodellen in einer SharePoint-Tools-Erweiterung verwenden, beide Objektmodelle haben aber bestimmte Vorteile und Nachteile im Kontext der SharePoint-Tools Erweiterungen.Weitere Informationen finden Sie unter Aufrufe in die SharePoint-Objektmodelle.
Objektmodell |
Description |
---|---|
Serverobjektmodell |
Das Serverobjektmodell bietet Zugriff auf alle Funktionen, die Microsoft SharePoint Foundation 2010 und Microsoft SharePoint Server 2010 programmgesteuert verfügbar machen.Dieses Objektmodell wurde für SharePoint-Lösungen entworfen, die auf dem SharePoint-Server ausgeführt werden.Die Großteil dieses Objektmodells ist in der Microsoft.SharePoint.dll-Assembly definiert.Weitere Informationen zum Serverobjektmodell finden Sie im Thema zur Verwendung des serverseitigen SharePoint Foundation-Objektmodells (möglicherweise in englischer Sprache). |
Clientobjektmodell |
Das Clientobjektmodell ist eine Teilmenge des Serverobjektmodells und kann verwendet werden, um die SharePoint-Daten auf einem Remoteclient oder einem Server zu verarbeiten.Beim Entwurf wurde darauf geachtet, die Anzahl der Roundtrips zu minimieren, die zum Ausführen häufiger Aufgaben notwendig ist.Die Großteil des Clientobjektmodells ist in der Microsoft.SharePoint.Client.dll-Assembly und der Microsoft.SharePoint.Client.Runtime.dll-Assembly definiert.Weitere Informationen zum Clientobjektmodell finden Sie im Thema zum verwalteten Clientobjektmodell (möglicherweise in englischer Sprache). |
Siehe auch
Konzepte
Aufrufe in die SharePoint-Objektmodelle
Visual Studio-Entwicklungsumgebungs-Modell
Verwenden des SharePoint-Projektdiensts