Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Sie können das SharePoint-Projektsystem in Visual Studio 2010 erweitern, indem Sie eigene Projektelementtypen erstellen. In dieser exemplarischen Vorgehensweise erstellen Sie ein Projektelement, das einem SharePoint-Projekt hinzugefügt werden kann, um eine benutzerdefinierte Aktion auf einer SharePoint-Website zu erstellen. Die benutzerdefinierte Aktion fügt dem Menü Websiteaktionen der SharePoint-Website ein Menüelement hinzu.
Diese exemplarische Vorgehensweise enthält die folgenden Aufgaben:
Erstellen einer Visual Studio-Erweiterung, die einen neuen Typ von SharePoint-Projektelement für eine benutzerdefinierte Aktion definiert. Mit dem neuen Projektelementtyp werden mehrere benutzerdefinierte Funktionen implementiert:
Ein Kontextmenü, über das weitere auf das Projektelement bezogene Aufgaben ausgewählt werden können, z. B. für das Anzeigen eines Designers für die benutzerdefinierte Aktion in Visual Studio.
Code, der ausgeführt wird, wenn ein Entwickler bestimmte Eigenschaften des Projektelements oder des Projekts ändert, in dem es enthalten ist.
Ein benutzerdefiniertes Symbol, das neben dem Projektelement im Projektmappen-Explorer angezeigt wird.
Erstellen einer Visual Studio-Elementvorlage für das Projektelement.
Erstellen eines Visual Studio-Erweiterungspakets (VSIX) zum Bereitstellen der Projektelementvorlage und der Erweiterungsassembly.
Debuggen und Testen des Projektelements
Dies ist eine eigenständige exemplarische Vorgehensweise. Nachdem Sie diese exemplarische Vorgehensweise abgeschlossen haben, können Sie das Projektelement erweitern, indem Sie der Elementvorlage einen Assistenten hinzufügen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Projektelements "Benutzerdefinierte Aktion" mit einer Elementvorlage, Teil 2.
Tipp
Ein Beispiel mit den abgeschlossenen Projekten, Code und weiteren Dateien für diese exemplarische Vorgehensweise können Sie unter folgender Adresse herunterladen: https://go.microsoft.com/fwlink/?LinkId=191369.
Vorbereitungsmaßnahmen
Zum Durchführen dieser exemplarischen Vorgehensweise werden auf dem Entwicklungscomputer die folgenden Komponenten benötigt:
Unterstützte Editionen von Microsoft Windows, SharePoint und Visual Studio. Weitere Informationen finden Sie unter Anforderungen für die Entwicklung von SharePoint-Lösungen.
Visual Studio 2010 SDK. Diese exemplarische Vorgehensweise verwendet die Vorlage VSIX Project im SDK, um ein VSIX-Paket zum Bereitstellen des Projektelements zu erstellen. Weitere Informationen finden Sie unter Erweitern der SharePoint-Tools in Visual Studio.
Kenntnisse der folgenden Konzepte sind hilfreich, wenn auch für die Durchführung der exemplarischen Vorgehensweise nicht erforderlich:
Benutzerdefinierte Aktionen in SharePoint. Weitere Informationen finden Sie im Thema zu benutzerdefinierten Aktionen (möglicherweise in englischer Sprache).
Elementvorlagen in Visual Studio. Weitere Informationen finden Sie unter Einführung in Visual Studio-Vorlagen.
Erstellen der Projekte
Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie drei Projekte erstellen:
Ein VSIX-Projekt. Von diesem Projekt wird das VSIX-Paket zum Bereitstellen des SharePoint-Projektelements erstellt.
Ein Elementvorlagenprojekt. Von diesem Projekt wird eine Elementvorlage erstellt, mit der das SharePoint-Projektelement einem SharePoint-Projekt hinzugefügt werden kann.
Ein Klassenbibliotheksprojekt. Dieses Projekt implementiert eine Visual Studio-Erweiterung, die das Verhalten des SharePoint-Projektelements definiert.
Beginnen Sie mit der exemplarischen Vorgehensweise, indem Sie beide Projekte erstellen.
So erstellen Sie das VSIX-Projekt
Starten Sie Visual Studio.
Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Stellen Sie im Kombinationsfeld am oberen Rand des Dialogfelds Neues Projekt sicher, dass .NET Framework 4 ausgewählt ist.
Erweitern Sie im Dialogfeld Neues Projekt den Knoten Visual C# oder Visual Basic, und klicken Sie dann auf den Knoten Erweiterungen.
Tipp
Der Knoten Erweiterungen ist nur verfügbar, wenn Sie Visual Studio 2010 SDK installieren. Weitere Informationen finden Sie im Abschnitt zu den erforderlichen Komponenten und Voraussetzungen weiter oben.
Klicken Sie auf die Vorlage VSIX Project.
Geben Sie im Feld Name die Zeichenfolge CustomActionProjectItem ein.
Klicken Sie auf OK.
Visual Studio fügt das Projekt CustomActionProjectItem zum Projektmappen-Explorer hinzu.
So erstellen Sie das Elementvorlagenprojekt
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektmappenknoten, klicken Sie auf Hinzufügen und anschließend auf Neues Projekt.
Tipp
In Visual Basic-Projekten wird der Projektmappenknoten nur im Projektmappen-Explorer angezeigt, wenn das Kontrollkästchen Projektmappe immer anzeigen in Allgemein, Projekte und Projektmappen, Dialogfeld "Optionen" aktiviert ist.
Stellen Sie im Kombinationsfeld am oberen Rand des Dialogfelds Neues Projekt sicher, dass .NET Framework 4 ausgewählt ist.
Erweitern Sie im Dialogfeld Neues Projekt den Knoten Visual C# oder Visual Basic, und klicken Sie dann auf den Knoten Erweiterungen.
Klicken Sie in der Liste der Projektvorlagen auf C#-Elementvorlage oder auf Visual Basic-Elementvorlage.
Geben Sie im Feld Name den Namen ItemTemplate ein.
Klicken Sie auf OK.
Visual Studio fügt der Projektmappe das Projekt ItemTemplate hinzu.
So erstellen Sie das Erweiterungsprojekt
Klicken Sie mit der rechten Maustaste auf den Projektmappenknoten im Projektmappen-Explorer, klicken Sie auf Hinzufügen, und klicken Sie dann auf Neues Projekt.
Stellen Sie im Kombinationsfeld am oberen Rand des Dialogfelds Neues Projekt sicher, dass .NET Framework 4 ausgewählt ist.
Erweitern Sie im Dialogfeld Neues Projekt den Knoten Visual C# oder Visual Basic, und klicken Sie anschließend auf den Knoten Fenster.
Wählen Sie die Projektvorlage Klassenbibliothek aus.
Geben Sie im Feld Name den Namen ProjectItemDefinition ein.
Klicken Sie auf OK.
Visual Studio fügt das Projekt ProjectItemDefinition der Projektmappe hinzu und öffnet die Class1-Codedatei.
Löschen Sie die Class1-Codedatei aus dem Projekt.
Konfigurieren des Erweiterungsprojekts
Bevor Sie Code zum Erstellen des SharePoint-Projektelementtyps schreiben, müssen Sie dem Erweiterungsprojekt Codedateien und Assemblyverweise hinzufügen.
So konfigurieren Sie das Projekt
Fügen Sie im Projekt ProjectItemDefinition Codedateien mit dem Namen CustomAction hinzu.
Klicken Sie im Menü Projekt auf Verweis hinzufügen.
Halten Sie auf der Registerkarte .NET die Taste STRG gedrückt, und klicken Sie auf die folgenden Assemblys. Klicken Sie anschließend auf OK:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
System.Windows.Forms
Definieren des neuen SharePoint-Projektelementtyps
Erstellen Sie eine Klasse, die die ISharePointProjectItemTypeProvider-Schnittstelle implementiert, um das Verhalten des neuen Projektelementtyps zu definieren. Implementieren Sie diese Schnittstelle immer dann, wenn Sie einen neuen Projektelementtyp definieren möchten.
So definieren Sie den neuen SharePoint-Projektelementtyp
Öffnen Sie im Projekt ProjectItemDefinition die CustomAction-Codedatei.
Ersetzen Sie den Code in dieser Datei durch den folgenden Code:
Imports System Imports System.Diagnostics Imports System.ComponentModel Imports System.ComponentModel.Composition Imports Microsoft.VisualStudio.SharePoint Namespace Contoso.SharePointProjectItems.CustomAction ' Export attribute: Enables Visual Studio to discover and load this extension. ' SharePointProjectItemType attribute: Specifies the ID for this new project item type. This string must ' match the value of the Type attribute of the ProjectItem element in the .spdata file for ' the project item. ' SharePointProjectItemIcon attribute: Specifies the icon to display with this project item in Solution Explorer. ' CustomActionProjectItemTypeProvider class: Defines a new type of project item that can be used to create a custom ' action on a SharePoint site. <Export(GetType(ISharePointProjectItemTypeProvider))> _ <SharePointProjectItemType("Contoso.CustomAction")> _ <SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")> _ Partial Friend Class CustomActionProjectItemTypeProvider Implements ISharePointProjectItemTypeProvider Private WithEvents projectItemTypeDefinition As ISharePointProjectItemTypeDefinition ' Configures the behavior of the project item type. Private Sub InitializeType(ByVal projectItemTypeDefinition As ISharePointProjectItemTypeDefinition) _ Implements ISharePointProjectItemTypeProvider.InitializeType projectItemTypeDefinition.Name = "CustomAction" projectItemTypeDefinition.SupportedDeploymentScopes = _ SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All Me.projectItemTypeDefinition = projectItemTypeDefinition End Sub Private Const DesignerMenuItemText As String = "View Custom Action Designer" Private Sub ProjectItemMenuItemsRequested(ByVal Sender As Object, _ ByVal e As SharePointProjectItemMenuItemsRequestedEventArgs) _ Handles projectItemTypeDefinition.ProjectItemMenuItemsRequested Dim viewDesignerMenuItem As IMenuItem = e.ViewMenuItems.Add(DesignerMenuItemText) AddHandler viewDesignerMenuItem.Click, AddressOf MenuItemClick End Sub Private Sub MenuItemClick(ByVal Sender As Object, ByVal e As MenuItemEventArgs) Dim projectItem As ISharePointProjectItem = CType(e.Owner, ISharePointProjectItem) Dim message As String = String.Format("You clicked the menu on the {0} item. " & _ "You could perform some related task here, such as displaying a designer " & _ "for the custom action.", projectItem.Name) System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action") End Sub Private Sub ProjectItemNameChanged(ByVal Sender As Object, ByVal e As NameChangedEventArgs) _ Handles projectItemTypeDefinition.ProjectItemNameChanged Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem) Dim message As String = String.Format("The name of the {0} item changed to: {1}", _ e.OldName, projectItem.Name) projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message) End Sub End Class End Namespaceusing System; using System.Diagnostics; using System.ComponentModel; using System.ComponentModel.Composition; using Microsoft.VisualStudio.SharePoint; namespace Contoso.SharePointProjectItems.CustomAction { // Enables Visual Studio to discover and load this extension. [Export(typeof(ISharePointProjectItemTypeProvider))] // Specifies the ID for this new project item type. This string must match the value of the // Type attribute of the ProjectItem element in the .spdata file for the project item. [SharePointProjectItemType("Contoso.CustomAction")] // Specifies the icon to display with this project item in Solution Explorer. [SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")] // Defines a new type of project item that can be used to create a custom action on a SharePoint site. internal partial class CustomActionProjectItemTypeProvider : ISharePointProjectItemTypeProvider { // Implements IProjectItemTypeProvider.InitializeType. Configures the behavior of the project item type. public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition) { projectItemTypeDefinition.Name = "CustomAction"; projectItemTypeDefinition.SupportedDeploymentScopes = SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web; projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All; projectItemTypeDefinition.ProjectItemNameChanged += ProjectItemNameChanged; projectItemTypeDefinition.ProjectItemMenuItemsRequested += ProjectItemMenuItemsRequested; } private const string designerMenuItemText = "View Custom Action Designer"; private void ProjectItemMenuItemsRequested(object sender, SharePointProjectItemMenuItemsRequestedEventArgs e) { e.ViewMenuItems.Add(designerMenuItemText).Click += MenuItemClick; } private void MenuItemClick(object sender, MenuItemEventArgs e) { ISharePointProjectItem projectItem = (ISharePointProjectItem)e.Owner; string message = String.Format("You clicked the menu on the {0} item. " + "You could perform some related task here, such as displaying a designer " + "for the custom action.", projectItem.Name); System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action"); } private void ProjectItemNameChanged(object sender, NameChangedEventArgs e) { ISharePointProjectItem projectItem = (ISharePointProjectItem)sender; string message = String.Format("The name of the {0} item changed to: {1}", e.OldName, projectItem.Name); projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message); } } }
Erstellen eines Symbols für das Projektelement im Projektmappen-Explorer
Wenn Sie ein benutzerdefiniertes SharePoint-Projektelement erstellen, können Sie dem Projektelement ein Bild (ein Symbol oder eine Bitmap) zuordnen. Dieses Bild wird neben dem Projektelement im Projektmappen-Explorer angezeigt.
In der folgenden Vorgehensweise erstellen Sie ein Symbol für das Projektelement und betten das Symbol in die Erweiterungsassembly ein. Auf dieses Symbol wird durch das SharePointProjectItemIconAttribute der zuvor erstellten CustomActionProjectItemTypeProvider-Klasse verwiesen.
So erstellen Sie ein benutzerdefiniertes Symbol für das Projektelement
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ProjectItemDefinition.
Zeigen Sie im Kontextmenü auf Hinzufügen, und klicken Sie dann auf Neues Element.
Klicken Sie in der Liste der Projektelemente auf Symboldatei.
Tipp
In Visual Basic-Projekten müssen Sie auf den Knoten Allgemein klicken, um das Element Symboldatei anzuzeigen.
Geben Sie CustomAction_SolutionExplorer.ico als Namen für das neue Symbol ein, und klicken Sie dann auf Hinzufügen.
Das neue Symbol wird in der Bildbearbeitung geöffnet.
Bearbeiten Sie die 16x16-Version der Symboldatei so, dass sich das Symbol leicht von anderen unterscheiden lässt, und speichern Sie dann die Symboldatei.
Klicken Sie im Projektmappen-Explorer auf CustomAction_SolutionExplorer.ico.
Klicken Sie im Eigenschaftenfenster auf die Dropdownliste neben Buildvorgang, und klicken Sie anschließend auf Eingebettete Ressource.
Checkpoint
Ab diesem Punkt in der exemplarischen Vorgehensweise wurde der gesamte für das Projektelement benötigte Code in das Projekt eingefügt. Erstellen Sie das Projekt, um sicherzustellen, dass es ohne Fehler kompiliert wird.
So erstellen Sie das Projekt
- Klicken Sie im Menü Erstellen auf Projektmappe erstellen.
Erstellen einer Visual Studio-Elementvorlage
Um Ihr Projektelement anderen Entwicklern zur Verfügung stellen zu können, müssen Sie eine Projektvorlage oder eine Elementvorlage erstellen. Mithilfe dieser Vorlagen können Entwickler in Visual Studio eine Instanz des Projekts erstellen, indem sie ein neues Projekt erstellen oder ein Element zu einem vorhandenen Projekt hinzufügen. Konfigurieren Sie für diese exemplarische Vorgehensweise das Projektelement mithilfe des Projekts ItemTemplate.
So erstellen Sie die Elementvorlage
Löschen Sie die Class1-Codedatei aus dem ItemTemplate-Projekt.
Öffnen Sie im Projekt ItemTemplate die Datei ItemTemplate.vstemplate.
Ersetzen Sie den Inhalt der Datei durch das folgende XML, speichern Sie anschließend die Datei, und schließen Sie sie.
Tipp
Das folgende XML ist für eine Visual C#-Elementvorlage bestimmt. Wenn Sie eine Visual Basic-Elementvorlage erstellen, ersetzen Sie den Wert des ProjectType-Elements durch VisualBasic.
<VSTemplate Version="2.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> <TemplateData> <DefaultName>CustomAction</DefaultName> <Name>Custom Action</Name> <Description>SharePoint Custom Action by Contoso</Description> <ProjectType>CSharp</ProjectType> <SortOrder>1000</SortOrder> <Icon>ItemTemplate.ico</Icon> <ProvideDefaultName>true</ProvideDefaultName> </TemplateData> <TemplateContent> <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\Elements.xml">Elements.xml</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\SharePointProjectItem.spdata">CustomAction.spdata</ProjectItem> </TemplateContent> </VSTemplate>Diese Datei definiert den Inhalt und das Verhalten der Elementvorlage. Weitere Informationen zum Inhalt dieser Datei finden Sie unter Schemareferenz zu Visual Studio-Vorlagen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ItemTemplate, klicken Sie auf Hinzufügen, und klicken Sie anschließend auf Neues Element.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Option Textdatei aus, geben Sie im Feld Name den Namen CustomAction.spdata ein, und klicken Sie dann auf Hinzufügen.
Fügen Sie der Datei CustomAction.spdata das folgende XML hinzu. Speichern und schließen Sie anschließend die Datei.
<?xml version="1.0" encoding="utf-8"?> <ProjectItem Type="Contoso.CustomAction" DefaultFile="Elements.xml" xmlns="https://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel"> <Files> <ProjectItemFile Source="Elements.xml" Target="$fileinputname$\" Type="ElementManifest" /> </Files> </ProjectItem>Diese Datei enthält Informationen zu den Dateien, die im Projektelement enthalten sind. Das Type-Attribut des ProjectItem-Elements muss auf die gleiche Zeichenfolge festgelegt werden, die in der Projektelementdefinition (die CustomActionProjectItemTypeProvider-Klasse, die Sie zuvor in dieser exemplarischen Vorgehensweise erstellt haben) an SharePointProjectItemTypeAttribute übergeben wird. Weitere Informationen zum Inhalt von SPDATA-Dateien finden Sie unter Referenz zum SharePoint-Projektelementschema.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ItemTemplate, klicken Sie auf Hinzufügen, und klicken Sie anschließend auf Neues Element.
Wählen Sie im Dialogfeld Neues Element hinzufügen die Option XML-Datei aus, geben Sie im Feld Name den Namen Elements.xml ein, und klicken Sie dann auf Hinzufügen.
Ersetzen Sie den Inhalt der Datei Elements.xml durch das folgende XML, speichern Sie anschließend die Datei, und schließen Sie sie.
<?xml version="1.0" encoding="utf-8" ?> <Elements Id="$guid8$" xmlns="https://schemas.microsoft.com/sharepoint/"> <CustomAction Id="Replace this with a GUID or some other unique string" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="Replace this with your title" Description="Replace this with your description" > <UrlAction Url="~site/Lists/Tasks/AllItems.aspx"/> </CustomAction> </Elements>Diese Datei definiert eine benutzerdefinierte Standardaktion, die im Menü Websiteaktionen der SharePoint-Website ein Menüelement erstellt. Wenn ein Benutzer auf das Menüelement klickt, wird die im UrlAction-Element angegebene URL im Webbrowser geöffnet. Weitere Informationen zu den XML-Elementen, die zum Definieren von benutzerdefinierten Aktionen verwendet werden können, finden Sie im Thema zu benutzerdefinierten Aktionsdefinitionen (möglicherweise in englischer Sprache).
(Optional.) Öffnen Sie die Datei ItemTemplate.ico, und ändern Sie sie, sodass sie einen Entwurf aufweist, den Sie erkennen können. Dieses Symbol wird neben dem Projektelement im Dialogfeld Neues Element hinzufügen angezeigt.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ItemTemplate, und klicken Sie auf Projekt entladen.
Klicken Sie erneut mit der rechten Maustaste auf das Projekt ItemTemplate, und klicken Sie auf ItemTemplate.csproj bearbeiten bzw. auf ItemTemplate.vbproj bearbeiten.
Suchen Sie das folgende VSTemplate-Element in der Projektdatei.
<VSTemplate Include="ItemTemplate.vstemplate">Ersetzen Sie dieses VSTemplate-Element durch das folgende XML.
<VSTemplate Include="ItemTemplate.vstemplate"> <OutputSubPath>SharePoint\SharePoint14</OutputSubPath> </VSTemplate>Das OutputSubPath-Element gibt weitere Ordner in dem Pfad an, unter dem die Elementvorlage beim Erstellen des Projekts erstellt wird. Mit den hier angegebenen Ordnern wird sichergestellt, dass die Elementvorlage nur dann verfügbar ist, wenn Kunden im Dialogfeld Neues Element hinzufügen auf den Knoten 2010 unter dem Knoten SharePoint klicken.
Speichern und schließen Sie die Datei.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt ItemTemplate, und klicken Sie auf Projekt erneut laden.
Erstellen eines VSIX-Pakets zum Bereitstellen des Projektelements
Zum Bereitstellen der Erweiterung erstellen Sie anhand des VSIX-Projekts in der Lösung ein VSIX-Paket. Konfigurieren Sie zuerst das VSIX-Paket, indem Sie die im VSIX-Projekt enthaltene Datei "source.extension.vsixmanifest" ändern. Erstellen Sie anschließend das VSIX-Paket, indem Sie die Lösung erstellen.
So erstellen und konfigurieren Sie das VSIX-Paket
Doppelklicken Sie im Projektmappen-Explorer im Projekt "CustomActionProjectItem" auf die Datei source.extension.vsixmanifest.
Die Datei wird von Visual Studio im Manifest-Editor geöffnet. Die Datei "source.extension.vsixmanifest" bildet die Grundlage für die Datei "extension.vsixmanifest", die für alle VSIX-Pakete erforderlich ist. Weitere Informationen zu dieser Datei finden Sie unter VSIX Extension Schema Reference.
Geben Sie im Feld Produktname die Zeichenfolge Custom Action Project Item ein.
Geben Sie im Feld Autor den Namen Contoso ein.
Geben Sie im Feld Beschreibung folgende Zeichenfolge ein: A SharePoint project item that represents a custom action.
Klicken Sie im Editor im Abschnitt Inhalt auf die Schaltfläche Inhalt hinzufügen.
Wählen Sie im Dialogfeld Inhalt hinzufügen im Listenfeld Inhaltstyp auswählen die Option Symbolvorlage aus.
Tipp
Dieser Wert entspricht dem ItemTemplate-Element in der Datei "extension.vsixmanifest". Dieses Element identifiziert den Unterordner im VSIX-Paket, der die Projektelementvorlage enthält. Weitere Informationen finden Sie unter ItemTemplate Element (VSX Schema).
Aktivieren Sie unter Quelle auswählen das Optionsfeld Projekt, und wählen Sie im zugehörigen Listenfeld den Eintrag ItemTemplate aus.
Klicken Sie auf OK.
Klicken Sie im Manifest-Editor erneut auf die Schaltfläche Inhalt hinzufügen.
Wählen Sie im Dialogfeld Inhalt hinzufügen im Listenfeldzum Auswählen eines Inhaltstyps die Option MEF-Komponente aus.
Tipp
Dieser Wert entspricht dem MefComponent-Element in der Datei "extension.vsixmanifest". Von diesem Element wird der Name einer Erweiterungsassembly im VSIX-Paket angegeben. Weitere Informationen finden Sie unter MEFComponent Element (VSX Schema).
Aktivieren Sie unter Quelle auswählen das Optionsfeld Projekt, und wählen Sie im zugehörigen Listenfeld den Eintrag ProjectItemDefinition aus.
Klicken Sie auf OK.
Klicken Sie im Menü Erstellen auf Projektmappe erstellen. Vergewissern Sie sich, dass das Projekt fehlerfrei kompiliert wird.
Öffnen Sie den Buildausgabeordner für das Projekt CustomActionProjectItem. Stellen Sie sicher, dass dieser Ordner jetzt die Datei CustomActionProjectItem.vsix enthält.
Standardmäßig ist der Buildausgabeordner der Ordner \bin\Debug im Ordner, der das Projekt CustomActionProjectItem enthält.
Testen des Projektelements
Jetzt können Sie das Projektelement testen. Debuggen Sie die Projektmappe CustomActionProjectItem zunächst in der experimentellen Instanz von Visual Studio. Testen Sie anschließend das Projektelement Benutzerdefinierte Aktion in einem SharePoint-Projekt in der experimentellen Instanz von Visual Studio. Erstellen und führen Sie zum Schluss das SharePoint-Projekt aus, um sicherzustellen, dass die benutzerdefinierte Aktion ordnungsgemäß funktioniert.
So debuggen Sie die Projektmappe
Starten Sie Visual Studio erneut mit Administratorrechten, und öffnen Sie die Projektmappe CustomActionProjectItem.
Öffnen Sie die CustomAction-Codedatei, und fügen Sie in der ersten Codezeile in der InitializeType-Methode einen Haltepunkt ein.
Drücken Sie die Taste F5, um mit dem Debuggen zu beginnen.
Die Erweiterung wird unter "%UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Custom Action Project Item\1.0" installiert, und eine experimentelle Instanz von Visual Studio wird gestartet. Sie testen das Projektelement in dieser Instanz von Visual Studio.
So testen Sie das Projektelement in Visual Studio
Zeigen Sie in der experimentellen Instanz von Visual Studio im Menü Datei auf Neu, und klicken Sie dann auf Projekt.
Erweitern Sie Visual C# oder Visual Basic (entsprechend der von der Elementvorlage unterstützten Sprache), erweitern Sie SharePoint, und klicken Sie anschließend auf 2010.
Klicken Sie in der Liste der Projektvorlagen auf Leeres Projekt.
Geben Sie im Feld Name die Zeichenfolge CustomActionTest ein.
Klicken Sie auf OK.
Geben Sie im Assistenten zum Anpassen von SharePoint die URL der Website ein, die Sie zum Debuggen verwenden möchten, und klicken Sie auf Fertig stellen.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Element.
Klicken Sie im Dialogfeld Neues Element hinzufügen unter dem Knoten SharePoint auf den Knoten 2010.
Vergewissern Sie sich, dass das Element Benutzerdefinierte Aktion in der Liste der Projektelemente angezeigt wird.
Klicken Sie auf Benutzerdefinierte Aktion und anschließend auf Hinzufügen.
Visual Studio fügt dem Projekt ein neues Element mit dem Namen CustomAction1 hinzu und öffnet die Datei Elements.xml im Editor.
Überprüfen Sie, ob die Codeausführung in der anderen Instanz von Visual Studio an dem Haltepunkt unterbrochen wird, den Sie zuvor in der InitializeType-Methode festgelegt haben. Drücken Sie F5, um mit dem Debuggen des Projekts fortzufahren.
Klicken Sie in der experimentellen Instanz von Visual Studio im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten CustomAction1, und klicken Sie auf Designer für benutzerdefinierte Ansicht anzeigen. Überprüfen Sie, ob ein Meldungsfeld angezeigt wird, und klicken Sie dann auf OK.
Sie können dieses Kontextmenü verwenden, um zusätzliche Optionen oder Befehle für Entwickler bereitzustellen, z. B. zum Anzeigen eines Designers für die benutzerdefinierte Aktion.
Klicken Sie im Menü Ansicht auf Ausgabe.
Das Ausgabefenster wird geöffnet.
Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das CustomAction1-Element, und ändern Sie den Namen in MyCustomAction.
Im Ausgabefenster sollte eine Bestätigungsmeldung angezeigt werden. Diese Meldung wird vom ProjectItemNameChanged-Ereignishandler ausgegeben, den Sie in der CustomActionProjectItemTypeProvider-Klasse definiert haben. Sie können dieses Ereignis und andere Projektelementereignisse behandeln, um ein benutzerdefiniertes Verhalten bei Änderungen des Projektelements durch den Entwickler zu implementieren.
So testen Sie die benutzerdefinierte Aktion in SharePoint
Öffnen Sie in der experimentellen Instanz von Visual Studio die Datei "Elements.xml". Diese Datei ist ein untergeordnetes Element des Projektelements MyCustomAction.
Nehmen Sie folgende Änderungen in der Datei Elements.xml vor:
Legen Sie im CustomAction-Element das Id-Attribut auf eine GUID oder eine andere eindeutige Zeichenfolge fest. Beispiel:
Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"Legen Sie im CustomAction-Element das Title-Attribut wie folgt fest:
Title="SharePoint Developer Center"Legen Sie im CustomAction-Element das Description-Attribut wie folgt fest:
Description="Opens the SharePoint Developer Center Web site."Legen Sie im UrlAction-Element das Url-Attribut wie folgt fest:
Url="https://msdn.microsoft.com/sharepoint/default.aspx"
Speichern Sie die Datei Elements.xml.
Drücken Sie F5. Die benutzerdefinierte Aktion wird verpackt und auf der SharePoint-Website bereitgestellt, die in der Website-URL-Eigenschaft des Projekts angegeben ist. Im Webbrowser wird die Standardseite dieser Website geöffnet.
Tipp
Wenn das Dialogfeld Skriptdebugging deaktiviert angezeigt wird, klicken Sie auf Ja, um mit dem Debuggen des Projekts fortzufahren.
Klicken Sie auf das Menü Websiteaktionen. Stellen Sie sicher, dass die benutzerdefinierte Aktion mit dem Namen SharePoint Developer Center am Ende des Menüs angezeigt wird.
Klicken Sie auf das Menüelement SharePoint Developer Center. Überprüfen Sie, ob der Browser die Website https://msdn.microsoft.com/sharepoint/default.aspx öffnet.
Schließen Sie den Webbrowser.
Bereinigen des Entwicklungscomputers
Nachdem Sie die Tests des Projektelements abgeschlossen haben, entfernen Sie die Projektelementvorlage aus der experimentellen Instanz von Visual Studio.
So bereinigen Sie den Entwicklungscomputer
Klicken Sie in der experimentellen Instanz von Visual Studio im Menü Extras auf Erweiterungs-Manager.
Das Dialogfeld Erweiterungs-Manager wird geöffnet.
Klicken Sie in der Liste der Erweiterungen auf Custom Action Project Item und dann auf Deinstallieren.
Klicken Sie im angezeigten Dialogfeld auf Ja, um zu bestätigen, dass Sie die Erweiterung deinstallieren möchten.
Klicken Sie auf Jetzt neu starten, um die Deinstallation abzuschließen.
Schließen Sie beide Instanzen von Visual Studio (die experimentelle Instanz und die Instanz von Visual Studio, in der die Projektmappe "CustomActionProjectItem" geöffnet ist).
Nächste Schritte
Nachdem Sie diese exemplarische Vorgehensweise abgeschlossen haben, können Sie der Elementvorlage einen Assistenten hinzufügen. Wenn ein Benutzer einem SharePoint-Projekt ein Projektelement Benutzerdefinierte Aktion hinzufügt, werden vom Assistenten Informationen zu der benutzerdefinierten Aktion gesammelt (z. B. der Speicherort und die aufgerufene URL, wenn darauf geklickt wird), und diese Informationen werden der Datei Elements.xml im neuen Projektelement hinzugefügt. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Projektelements "Benutzerdefinierte Aktion" mit einer Elementvorlage, Teil 2.
Siehe auch
Aufgaben
Erstellen einer neuen Bitmap oder eines anderen Bildes
Referenz
Schemareferenz zu Visual Studio-Vorlagen
Konzepte
Verwenden des SharePoint-Projektdiensts
Weitere Ressourcen
Definieren von benutzerdefinierten SharePoint-Projektelementtypen
Erstellen von Elementvorlagen und Projektvorlagen für SharePoint-Projektelemente