Exemplarische Vorgehensweise: Erstellen eines Projektelements "Websitespalte" mit einer Projektvorlage, Teil 1

SharePoint-Projekte sind Container für SharePoint-Projektelemente. Sie können das SharePoint-Projektsystem in Visual Studio 2010 erweitern, indem Sie eigene SharePoint-Projektelementtypen erstellen und diese dann einer Projektvorlage zuordnen. In dieser exemplarischen Vorgehensweise definieren Sie einen Projektelementtyp zum Erstellen einer Websitespalte. Anschließend erstellen Sie eine Projektvorlage, mit der ein neues Projekt erstellt werden kann, das ein Projektelement einer Websitespalte enthält.

Diese exemplarische Vorgehensweise enthält die folgenden Aufgaben:

  • Erstellen einer Visual Studio-Erweiterung, die einen neuen Typ von SharePoint-Projektelement für eine Websitespalte definiert. Der Projektelementtyp enthält eine einfache benutzerdefinierte Eigenschaft, die im Eigenschaftenfenster angezeigt wird.

  • Erstellen einer Visual Studio-Projektvorlage für das Projektelement.

  • Erstellen eines Visual Studio-Erweiterungspakets (VSIX) zum Bereitstellen der Projektvorlage 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 Projektvorlage einen Assistenten hinzufügen. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Projektelements "Websitespalte" mit einer Projektvorlage, 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:

Kenntnisse des folgenden Konzepts sind hilfreich, wenn auch für die Durchführung der exemplarischen Vorgehensweise nicht erforderlich:

Erstellen der Projekte

Zum Abschließen dieser exemplarischen Vorgehensweise müssen Sie drei Projekte erstellen:

  • Ein VSIX-Projekt. In diesem Projekt wird das VSIX-Paket zum Bereitstellen des Projektelements für die Websitespalte sowie die Projektvorlage erstellt.

  • Ein Projektvorlagenprojekt. In diesem Projekt wird eine Projektvorlage zum Erstellen eines neuen SharePoint-Projekts mit dem Projektelement für die Websitespalte erstellt.

  • Ein Klassenbibliotheksprojekt. In diesem Projekt wird eine Visual Studio-Erweiterung implementiert, die das Verhalten des SharePoint-Projektelements definiert.

Beginnen Sie mit der exemplarischen Vorgehensweise, indem Sie beide Projekte erstellen.

So erstellen Sie das VSIX-Projekt

  1. Starten Sie Visual Studio.

  2. Zeigen Sie im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  3. Stellen Sie im Kombinationsfeld am oberen Rand des Dialogfelds Neues Projekt sicher, dass .NET Framework 4 ausgewählt ist.

  4. 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 weiter oben in diesem Thema im Abschnitt zu den erforderlichen Komponenten.

  5. Klicken Sie auf die Vorlage VSIX Project.

  6. Geben Sie im Feld Name den Namen SiteColumnProjectItem ein.

  7. Klicken Sie auf OK.

    Visual Studio fügt das SiteColumnProjectItem-Projekt zum Projektmappen-Explorer hinzu.

So erstellen Sie das Projektvorlagenprojekt

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektmappenknoten, zeigen Sie auf Hinzufügen, und klicken Sie dann 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.

  2. Stellen Sie im Kombinationsfeld am oberen Rand des Dialogfelds Neues Projekt hinzufügen sicher, dass .NET Framework 4 ausgewählt ist.

  3. Erweitern Sie im Dialogfeld Neues Projekt hinzufügen den Knoten Visual C# oder Visual Basic, und klicken Sie dann auf den Knoten Erweiterungen.

  4. Klicken Sie in der Liste der Projektvorlagen auf C#-Projektvorlage oder auf Visual Basic-Projektvorlage.

  5. Geben Sie im Feld Name den Namen SiteColumnProjectTemplate ein.

  6. Klicken Sie auf OK.

    Visual Studio fügt der Projektmappe das Projekt SiteColumnProjectTemplate hinzu.

  7. Löschen Sie die Class1-Codedatei aus dem Projekt.

  8. Wenn Sie ein Visual Basic-Projekt erstellt haben, löschen Sie auch die folgenden Dateien aus dem Projekt:

    • MyApplication.Designer.vb

    • MyApplication.myapp

    • Resources.Designer.vb

    • Resources.resx

    • Settings.Designer.vb

    • Settings.settings

So erstellen Sie das Erweiterungsprojekt

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektmappenknoten, zeigen Sie auf Hinzufügen, und klicken Sie dann auf Neues Projekt.

  2. Stellen Sie im Kombinationsfeld am oberen Rand des Dialogfelds Neues Projekt hinzufügen sicher, dass .NET Framework 4 ausgewählt ist.

  3. Erweitern Sie im Dialogfeld Neues Projekt hinzufügen den Knoten Visual C# oder Visual Basic, und klicken Sie anschließend auf Windows.

  4. Wählen Sie die Projektvorlage Klassenbibliothek aus.

  5. Geben Sie im Feld Name den Namen ProjectItemTypeDefinition ein.

  6. Klicken Sie auf OK.

    Visual Studio fügt das Projekt ProjectItemTypeDefinition der Projektmappe hinzu und öffnet die Class1-Codedatei.

  7. Löschen Sie die Class1-Codedatei aus dem Projekt.

Konfigurieren des Erweiterungsprojekts

Fügen Sie Codedateien und Assemblyverweise hinzu, um das Erweiterungsprojekt zu konfigurieren.

So konfigurieren Sie das Projekt

  1. Fügen Sie dem Projekt ProjectItemTypeDefinition die neue Codedatei SiteColumnProjectItemTypeProvider hinzu.

  2. Klicken Sie im Menü Projekt auf Verweis hinzufügen.

  3. Klicken Sie auf der Registerkarte .NET mit gedrückter STRG-TASTE auf die folgenden Assemblys, und klicken Sie anschließend auf OK:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

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

  1. Öffnen Sie im Projekt ProjectItemTypeDefinition die Codedatei SiteColumnProjectItemTypeProvider.

  2. Ersetzen Sie den Code in dieser Datei durch den folgenden Code, und speichern Sie die Datei.

    Imports System
    Imports System.Diagnostics
    Imports System.ComponentModel
    Imports System.ComponentModel.Composition
    Imports Microsoft.VisualStudio.SharePoint
    
    Namespace Contoso.SharePointProjectItems.SiteColumn
    
        ' Export attribute: Enables Visual Studio to discover and load this extension.
        ' SharePointProjectItemType attribute: Specifies the ID for the 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.
        ' SiteColumnProjectItemTypeProvider class: Defines a new type of project item.
        <Export(GetType(ISharePointProjectItemTypeProvider))> _
        <SharePointProjectItemType("Contoso.SiteColumn")> _
        Partial Friend Class SiteColumnProjectItemTypeProvider
            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.SupportedDeploymentScopes = _
                    SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web
                projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All
                Me.projectItemTypeDefinition = projectItemTypeDefinition
            End Sub
    
            ' Creates a custom property for this project item.
            Private Sub ProjectItemPropertiesRequested(ByVal Sender As Object,
                ByVal e As SharePointProjectItemPropertiesRequestedEventArgs) _
                Handles projectItemTypeDefinition.ProjectItemPropertiesRequested
    
                Dim properties As SiteColumnProperties = Nothing
    
                ' If the properties object already exists, get it from the project item's annotations.
                If False = e.ProjectItem.Annotations.TryGetValue(properties) Then
                    ' Otherwise, create a new properties object and add it to the annotations.
                    properties = New SiteColumnProperties(e.ProjectItem)
                    e.ProjectItem.Annotations.Add(properties)
                End If
                e.PropertySources.Add(properties)
            End Sub
        End Class
    
        Friend Class SiteColumnProperties
            Private projectItem As ISharePointProjectItem
            Private Const TestPropertyId As String = "Contoso.SiteColumnProperty"
            Private Const PropertyDefaultValue As String = "Default custom property value."
    
            Friend Sub New(ByVal projectItem As ISharePointProjectItem)
                Me.projectItem = projectItem
            End Sub
    
            'The property gets or sets a simple string value. 
            <DisplayName("Example Property")> _
            <DescriptionAttribute("This is an example property for site column project items.")> _
            <DefaultValue(PropertyDefaultValue)> _
            Public Property ExampleProperty As String
                Get
                    Dim propertyValue As String = Nothing
    
                    ' Get the current property value if it already exists; otherwise, return a default value.
                    If False = projectItem.ExtensionData.TryGetValue(TestPropertyId, propertyValue) Then
                        propertyValue = PropertyDefaultValue
                    End If
                    Return propertyValue
                End Get
                Set(ByVal value As String)
                    If value <> PropertyDefaultValue Then
                        ' Store the property value in the ExtensionData property of the project item.
                        ' Data in the ExtensionData property persists when the project is closed.
                        projectItem.ExtensionData(TestPropertyId) = value
                    Else
                        ' Do not save the default value.
                        projectItem.ExtensionData.Remove(TestPropertyId)
                    End If
                End Set
            End Property
        End Class
    End Namespace
    
    using System;
    using System.Diagnostics;
    using System.ComponentModel;
    using System.ComponentModel.Composition;
    using Microsoft.VisualStudio.SharePoint;
    
    namespace Contoso.SharePointProjectItems.SiteColumn
    {
        // Enables Visual Studio to discover and load this extension.
        [Export(typeof(ISharePointProjectItemTypeProvider))]
    
        // Specifies the ID for the 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.SiteColumn")]
    
        // Defines a new type of project item.
        internal class SiteColumnProjectItemTypeProvider : ISharePointProjectItemTypeProvider
        {
            // Implements IProjectItemTypeProvider.InitializeType. Configures the behavior of the project item type.
            public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition)
            {
                projectItemTypeDefinition.SupportedDeploymentScopes =
                   SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web;
                projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All;
    
                // Handle event to create a custom property for this project item.
                projectItemTypeDefinition.ProjectItemPropertiesRequested +=
                    projectItemTypeDefinition_ProjectItemPropertiesRequested;
            }
    
            // Creates a custom property for this project item.
            void projectItemTypeDefinition_ProjectItemPropertiesRequested(object sender,
                SharePointProjectItemPropertiesRequestedEventArgs e)
            {
                SiteColumnProperties properties = null;
    
                // If the Properties object already exists, get it from the project item's annotations.
                if (!e.ProjectItem.Annotations.TryGetValue(out properties))
                {
                    // Otherwise, create a new Properties object and add it to the annotations.
                    properties = new SiteColumnProperties(e.ProjectItem);
                    e.ProjectItem.Annotations.Add(properties);
                }
    
                e.PropertySources.Add(properties);
            }
        }
    
        internal class SiteColumnProperties
        {
            // This class defines the property behavior.
            private ISharePointProjectItem projectItem;
            private const string propertyId = "Contoso.SiteColumnProperty";
            private const string propertyDefaultValue = "Default custom property value.";
    
            internal SiteColumnProperties(ISharePointProjectItem projectItem)
            {
                this.projectItem = projectItem;
            }
    
            // The property gets or sets a simple string value. 
            [DisplayName("Example Property")]
            [DescriptionAttribute("This is an example property for site column project items.")]
            [DefaultValue(propertyDefaultValue)]
            public string ExampleProperty
            {
                get
                {
                    string propertyValue;
    
                    // Get the current property value if it already exists; otherwise, return a default value.
                    if (!projectItem.ExtensionData.TryGetValue(propertyId, out propertyValue))
                    {
                        propertyValue = propertyDefaultValue;
                    }
                    return propertyValue;
                }
                set
                {
                    if (value != propertyDefaultValue)
                    {
                        // Store the property value in the ExtensionData property of the project item. 
                        // Data in the ExtensionData property persists when the project is closed.
                        projectItem.ExtensionData[propertyId] = value;
                    }
                    else
                    {
                        // Do not save the default value.
                        projectItem.ExtensionData.Remove(propertyId);
                    }
                }
            }
        }
    }
    

Erstellen einer Visual Studio-Projektvorlage

Um anderen Entwickler zu ermöglichen, ein neues SharePoint-Projekt mit einem Projektelement für die Website zu erstellen, erstellen Sie eine Projektvorlage. Eine SharePoint-Projektvorlage enthält die Dateien, die für alle Projekte in Visual Studio erforderlich sind, z. B. CSPROJ- oder VBPROJ- und VSTEMPLATE-Dateien, sowie spezifische Dateien für SharePoint-Projekte. Weitere Informationen finden Sie unter Erstellen von Elementvorlagen und Projektvorlagen für SharePoint-Projektelemente.

In diesem Verfahren erstellen Sie ein leeres SharePoint-Projekt, um spezifische Dateien für SharePoint-Projekte zu generieren. Diese Dateien fügen Sie anschließend dem Projekt SiteColumnProjectTemplate hinzu, damit sie in der Vorlage enthalten sind, die für dieses Projekt generiert wird. Ferner konfigurieren Sie die Projektdatei SiteColumnProjectTemplate, um anzugeben, an welcher Position im Dialogfeld Neues Projekt hinzufügen die Projektvorlage angezeigt wird.

So erstellen Sie die Dateien für die Projektvorlage

  1. Starten Sie eine zweite Instanz von Visual Studio mit Administratorrechten.

  2. Erstellen Sie ein neues leeres SharePoint-Projekt namens BaseSharePointProject. Die Option Als Farmlösung bereitstellen im Assistenten zum Anpassen von SharePoint muss deaktiviert sein.

  3. Fügen Sie dem Projekt ein leeres Projektelement hinzu. Benennen Sie das Element mit Field1.

  4. Speichern Sie das Projekt, und schließen Sie die zweite Instanz von Visual Studio.

  5. Klicken Sie in der Instanz von Visual Studio mit der geöffneten Projektmappe SiteColumnProjectItem im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten SiteColumnProjectTemplate.

  6. Klicken Sie im Menü Hinzufügen auf Vorhandenes Element.

  7. Klicken Sie im Dialogfeld Vorhandenes Element hinzufügen auf die Dropdownliste mit den Dateierweiterungen, und wählen Sie Alle Dateien (*.*) aus.

  8. Navigieren Sie zu dem Verzeichnis, in dem sich das BaseSharePointProject-Projekt befindet. Wählen Sie in diesem Ordner die Datei key.snk aus, und klicken Sie auf Hinzufügen.

    Tipp

    In dieser exemplarischen Vorgehensweise wird diese key.snk-Datei von der Projektvorlage verwendet, die Sie erstellen, um die einzelnen Projekte zu signieren, die mit der Vorlage erstellt werden. Informationen zum Erweitern dieses Beispiels und zum Erstellen einer neuen key.snk-Datei für die einzelnen Projektinstanzen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Projektelements "Websitespalte" mit einer Projektvorlage, Teil 2.

  9. Wiederholen Sie die Schritte 5-8, um die folgenden Dateien aus den angegebenen Unterordnern im Verzeichnis BaseSharePointProject hinzuzufügen:

    • \Field1\Elements.xml

    • \Field1\SharePointProjectItem.spdata

    • \Features\Feature1\Feature1.feature

    • \Features\Feature1\Feature1.Template.xml

    • \Package\Package.package

    • \Package\Package.Template.xml

    Fügen Sie die Dateien dem Projekt SiteColumnProjectTemplate unmittelbar hin. Erstellen Sie die Unterordner Field1, Feature oder Package nicht erneut im Projekt. Weitere Informationen zu diesen Dateien finden Sie unter Erstellen von Elementvorlagen und Projektvorlagen für SharePoint-Projektelemente.

So konfigurieren Sie die Verwendung der Projektvorlage durch Entwickler im Dialogfeld zum Hinzufügen eines neuen Projekts

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Projektknoten SiteColumnProjectTemplate, und klicken Sie anschließend auf Projekt entladen. Wenn Sie aufgefordert werden, die Änderungen an den Dateien zu speichern, klicken Sie auf Ja.

  2. Klicken Sie erneut mit der rechten Maustaste auf den Knoten SiteColumnProjectTemplate, und klicken Sie auf SiteColumnProjectTemplate.csproj bearbeiten oder auf SiteColumnProjectTemplate.vbproj bearbeiten.

  3. Suchen Sie das folgende VSTemplate-Element in der Projektdatei.

    <VSTemplate Include="SiteColumnProjectTemplate.vstemplate">
    
  4. Ersetzen Sie dieses VSTemplate-Element durch das folgende XML.

    <VSTemplate Include="SiteColumnProjectTemplate.vstemplate">
      <OutputSubPath>SharePoint\SharePoint14</OutputSubPath>
    </VSTemplate>
    

    Das OutputSubPath-Element gibt weitere Ordner in dem Pfad an, unter dem die Projektvorlage beim Erstellen des Projekts erstellt wird. Mit den hier angegebenen Ordnern wird sichergestellt, dass die Projektvorlage nur dann verfügbar ist, wenn Kunden im Dialogfeld Neues Projekt hinzufügen auf den Knoten 2010 unter dem Knoten SharePoint klicken.

  5. Speichern und schließen Sie die Datei.

  6. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf das Projekt SiteColumnProjectTemplate, und klicken Sie auf Projekt erneut laden.

Bearbeiten der Projektvorlagendateien

Bearbeiten Sie die folgenden Dateien im Projekt SiteColumnProjectTemplate, um das Verhalten der Projektvorlage zu definieren:

  • AssemblyInfo.cs oder AssemblyInfo.vb

  • Elements.xml

  • SharePointProjectItem.spdata

  • Feature1.feature

  • Package.package

  • SiteColumnProjectTemplate.vstemplate

  • ProjectTemplate.csproj oder ProjectTemplate.vbproj

In den folgenden Verfahren fügen Sie einigen Dateien ersetzbare Parameter hinzu. Ein ersetzbarer Parameter ist ein Token, das mit einem Dollarzeichen ($) beginnt und endet. Wenn ein Benutzer mit dieser Projektvorlage ein neues Projekt erstellt, werden diese Parameter im neuen Projekt von Visual Studio automatisch durch bestimmte Werte ersetzt. Weitere Informationen finden Sie unter Ersetzbare Parameter.

So bearbeiten Sie die Datei AssemblyInfo.cs oder die Datei AssemblyInfo.vb

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei AssemblyInfo.cs oder auf die Datei AssemblyInfo.vb im Projektmappen-Explorer.

  2. Fügen Sie am Anfang der Datei die folgende Anweisung hinzu.

    Imports System.Security
    
    using System.Security;
    

    Wenn die Eigenschaft Sandkastenlösung eines SharePoint-Projekts auf True festgelegt ist, wird das System.Security.AllowPartiallyTrustedCallersAttribute von Visual Studio der Codedatei AssemblyInfo hinzugefügt. Der Namespace System.Security wird von der Codedatei AssemblyInfo in der Projektvorlage allerdings standardmäßig nicht importiert. Sie müssen die Anweisung using bzw. die Anweisung Imports hinzufügen, um Compilerfehler zu verhindern.

  3. Speichern und schließen Sie die Datei.

So bearbeiten Sie die Datei Elements.xml

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei Elements.xml im Projektmappen-Explorer.

  2. Ersetzen Sie den Inhalt der Datei durch folgendes XML:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <Field ID="{$guid5$}" 
          Name="$safeprojectname$" 
          DisplayName="$projectname$" 
          Type="Text" 
          Group="Custom Columns">
      </Field>
    </Elements>
    

    Mit dem neuen XML wird ein Field-Element hinzugefügt, das den Namen der Websitespalte, den Basistyp sowie die Gruppe definiert, in der die Websitespalte im Katalog aufgelistet wird. Weitere Informationen über den Inhalt dieser Datei finden Sie unter Felddefinitionen.

  3. Speichern und schließen Sie die Datei.

So bearbeiten Sie die Datei SharePointProjectItem.spdata

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei SharePointProjectItem.spdata im Projektmappen-Explorer.

  2. Ersetzen Sie den Inhalt der Datei durch folgendes XML:

    <?xml version="1.0" encoding="utf-8"?>
    <ProjectItem Type="Contoso.SiteColumn" DefaultFile="Elements.xml" 
                 xmlns="https://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel">
      <Files>
        <ProjectItemFile Source="Elements.xml" Target="$safeprojectname$\" Type="ElementManifest" />
      </Files> 
    </ProjectItem>
    

    Durch das neue XML werden folgende Änderungen an der Datei vorgenommen:

    • Das Type-Attribut des ProjectItem-Elements wird auf die gleiche Zeichenfolge festgelegt, die in der Projektelementdefinition (die SiteColumnProjectItemTypeProvider-Klasse, die Sie zuvor in dieser exemplarischen Vorgehensweise erstellt haben) an SharePointProjectItemTypeAttribute übergeben wird.

    • Das SupportedTrustLevels-Attribut und das SupportedDeploymentScopes-Attribut werden aus dem ProjectItem-Element entfernt. Diese Attributwerte werden nicht benötigt, da die Vertrauensebenen und Bereitstellungsbereiche in der SiteColumnProjectItemTypeProvider-Klasse im Projekt ProjectItemTypeDefinition angegeben werden.

    Weitere Informationen zum Inhalt von SPDATA-Dateien finden Sie unter Referenz zum SharePoint-Projektelementschema.

  3. Speichern und schließen Sie die Datei.

So bearbeiten Sie die Datei Feature1.feature

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei Feature1.feature im Projektmappen-Explorer.

  2. Ersetzen Sie den Inhalt der Datei durch folgendes XML:

    <?xml version="1.0" encoding="utf-8"?>
    <feature xmlns:dm0="https://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" dslVersion="1.0.0.0" Id="$guid4$" featureId="$guid4$" 
             imageUrl="" solutionId="00000000-0000-0000-0000-000000000000" title="Site Column Feature1" version=""
             deploymentPath="$SharePoint.Project.FileNameWithoutExtension$_$SharePoint.Feature.FileNameWithoutExtension$"
             xmlns="https://schemas.microsoft.com/VisualStudio/2008/SharePointTools/FeatureModel">
      <projectItems>
        <projectItemReference itemId="$guid2$" />
      </projectItems>
    </feature>
    

    Durch das neue XML werden folgende Änderungen an der Datei vorgenommen:

    • Der Wert des Id-Attributs und der Wert des featureId-Attributs für das feature-Element werden in $guid4$ geändert.

    • Die Werte des itemId-Attributs für das projectItemReference-Element werden in $guid2$ geändert.

    Weitere Informationen zu FEATURE-Dateien finden Sie unter Erstellen von Elementvorlagen und Projektvorlagen für SharePoint-Projektelemente.

  3. Speichern und schließen Sie die Datei.

So bearbeiten Sie die Datei Package.package

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei Package.package im Projektmappen-Explorer.

  2. Ersetzen Sie den Inhalt der Datei durch folgendes XML:

    <?xml version="1.0" encoding="utf-8"?>
    <package xmlns:dm0="https://schemas.microsoft.com/VisualStudio/2008/DslTools/Core" dslVersion="1.0.0.0" 
             Id="$guid3$" solutionId="$guid3$" resetWebServer="false" name="$safeprojectname$" 
             xmlns="https://schemas.microsoft.com/VisualStudio/2008/SharePointTools/PackageModel">
      <features>
        <featureReference itemId="$guid4$" />
      </features>
    </package>
    

    Durch das neue XML werden folgende Änderungen an der Datei vorgenommen:

    • Der Wert des Id-Attributs und der Wert des solutionId-Attributs für das package-Element werden in $guid3$ geändert.

    • Die Werte des itemId-Attributs für das featureReference-Element werden in $guid4$ geändert.

    Weitere Informationen zu PACKAGE-Dateien finden Sie unter Erstellen von Elementvorlagen und Projektvorlagen für SharePoint-Projektelemente.

  3. Speichern und schließen Sie die Datei.

So bearbeiten Sie die Datei SiteColumnProjectTemplate.vstemplate

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei SiteColumnProjectTemplate.vstemplate im Projektmappen-Explorer.

  2. Ersetzen Sie den Inhalt der Datei durch einen der folgenden XML-Abschnitte: Beim Erstellen einer Visual C#-Projektvorlage verwenden Sie das folgende XML:

    <?xml version="1.0" encoding="utf-8"?>
    <VSTemplate Version="3.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
      <TemplateData>
        <Name>Site Column</Name>
        <Description>Creates a new site column in SharePoint</Description>
        <FrameworkVersion>3.5</FrameworkVersion>
        <ProjectType>CSharp</ProjectType>
        <CreateNewFolder>true</CreateNewFolder>
        <CreateInPlace>true</CreateInPlace>
        <ProvideDefaultName>true</ProvideDefaultName>
        <DefaultName>SiteColumn</DefaultName>
        <LocationField>Enabled</LocationField>
        <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
        <PromptForSaveOnCreation>true</PromptForSaveOnCreation>
        <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
        <Icon>SiteColumnProjectTemplate.ico</Icon>
        <SortOrder>1000</SortOrder>
      </TemplateData>
      <TemplateContent>
        <Project TargetFileName="SharePointProject1.csproj" File="ProjectTemplate.csproj" ReplaceParameters="true">
          <ProjectItem ReplaceParameters="true" TargetFileName="Properties\AssemblyInfo.cs">AssemblyInfo.cs</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Features\Feature1\Feature1.feature">Feature1.feature</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Features\Feature1\Feature1.Template.xml">Feature1.template.xml</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Package\Package.package">Package.package</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Package\Package.Template.xml">Package.Template.xml</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Field1\SharePointProjectItem.spdata">SharePointProjectItem.spdata</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Field1\Elements.xml" OpenInEditor="true">Elements.xml</ProjectItem>
          <ProjectItem ReplaceParameters="false" TargetFileName="key.snk">key.snk</ProjectItem>
        </Project>
      </TemplateContent>
    </VSTemplate>
    

    Beim Erstellen einer Visual Basic-Projektvorlage verwenden Sie das folgende XML:

    <?xml version="1.0" encoding="utf-8"?>
    <VSTemplate Version="3.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Project">
      <TemplateData>
        <Name>Site Column</Name>
        <Description>Creates a new site column in SharePoint</Description>
        <FrameworkVersion>3.5</FrameworkVersion>
        <ProjectType>VisualBasic</ProjectType>
        <CreateNewFolder>true</CreateNewFolder>
        <CreateInPlace>true</CreateInPlace>
        <ProvideDefaultName>true</ProvideDefaultName>
        <DefaultName>SiteColumn</DefaultName>
        <LocationField>Enabled</LocationField>
        <EnableLocationBrowseButton>true</EnableLocationBrowseButton>
        <PromptForSaveOnCreation>true</PromptForSaveOnCreation>
        <NumberOfParentCategoriesToRollUp>1</NumberOfParentCategoriesToRollUp>
        <Icon>SiteColumnProjectTemplate.ico</Icon>
        <SortOrder>1000</SortOrder>
      </TemplateData>
      <TemplateContent>
        <Project TargetFileName="SharePointProject1.vbproj" File="ProjectTemplate.vbproj" ReplaceParameters="true">
          <ProjectItem ReplaceParameters="true" TargetFileName="My Project\AssemblyInfo.vb">AssemblyInfo.vb</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Features\Feature1\Feature1.feature">Feature1.feature</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Features\Feature1\Feature1.Template.xml">Feature1.template.xml</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Package\Package.package">Package.package</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Package\Package.Template.xml">Package.Template.xml</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Field1\SharePointProjectItem.spdata">SharePointProjectItem.spdata</ProjectItem>
          <ProjectItem ReplaceParameters="true" TargetFileName="Field1\Elements.xml" OpenInEditor="true">Elements.xml</ProjectItem>
          <ProjectItem ReplaceParameters="false" TargetFileName="key.snk">key.snk</ProjectItem>
        </Project>
      </TemplateContent>
    </VSTemplate>
    

    Durch das neue XML werden folgende Änderungen an der Datei vorgenommen:

    • Dadurch wird das Name-Element auf den Wert Websitespalte (der Name, der im Dialogfeld Neues Projekt hinzufügen angezeigt wird) festgelegt.

    • Außerdem werden ProjectItem-Elemente für alle Dateien in den einzelnen Projektinstanzen hinzugefügt.

    Weitere Informationen zum Inhalt von .vstemplate-Dateien finden Sie unter Schemareferenz zu Visual Studio-Vorlagen.

  3. Speichern und schließen Sie die Datei.

So bearbeiten Sie die Datei ProjectTemplate.csproj oder die Datei ProjectTemplate.vbproj

  1. Doppelklicken Sie im Projekt SiteColumnProjectTemplate auf die Datei ProjectTemplate.csproj oder auf die Datei ProjectTemplate.vbproj im Projektmappen-Explorer.

  2. Ersetzen Sie den Inhalt der Datei durch einen der folgenden XML-Abschnitte: Beim Erstellen einer Visual C#-Projektvorlage verwenden Sie das folgende XML:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
        <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
        <SchemaVersion>2.0</SchemaVersion>
        <ProjectGuid>{$guid1$}</ProjectGuid>
        <OutputType>Library</OutputType>
        <AppDesignerFolder>Properties</AppDesignerFolder>
        <RootNamespace>$safeprojectname$</RootNamespace>
        <AssemblyName>$safeprojectname$</AssemblyName>
        <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
        <FileAlignment>512</FileAlignment>
        <ProjectTypeGuids>{BB1F664B-9266-4fd6-B973-E1E44974B511};{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        <DebugSymbols>true</DebugSymbols>
        <DebugType>full</DebugType>
        <Optimize>false</Optimize>
        <OutputPath>bin\Debug\</OutputPath>
        <DefineConstants>DEBUG;TRACE</DefineConstants>
        <ErrorReport>prompt</ErrorReport>
        <WarningLevel>4</WarningLevel>
        <UseVSHostingProcess>false</UseVSHostingProcess>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <DebugType>pdbonly</DebugType>
        <Optimize>true</Optimize>
        <OutputPath>bin\Release\</OutputPath>
        <DefineConstants>TRACE</DefineConstants>
        <ErrorReport>prompt</ErrorReport>
        <WarningLevel>4</WarningLevel>
      </PropertyGroup>
      <PropertyGroup>
        <SignAssembly>true</SignAssembly>
        <AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
      </PropertyGroup>
      <ItemGroup>
        <Reference Include="System" />
        <Reference Include="System.Core" />
        <Reference Include="System.Data" />
        <Reference Include="System.Data.DataSetExtensions" />
        <Reference Include="System.Web" />
        <Reference Include="System.Xml" />
        <Reference Include="System.Xml.Linq" />
        <Reference Include="Microsoft.SharePoint" />
        <Reference Include="Microsoft.SharePoint.Security" />
      </ItemGroup>
      <ItemGroup>
        <Compile Include="Properties\AssemblyInfo.cs" />
      </ItemGroup>
      <ItemGroup>
        <None Include="Field1\SharePointProjectItem.spdata">
          <SharePointProjectItemId>{$guid2$}</SharePointProjectItemId>
        </None>
        <None Include="Field1\Elements.xml" />
      </ItemGroup>
      <ItemGroup>
        <None Include="key.snk" />
        <None Include="Package\Package.package">
          <PackageId>{$guid3$}</PackageId>
        </None>
        <None Include="Package\Package.Template.xml">
          <DependentUpon>Package.package</DependentUpon>
        </None>
        <None Include="Features\Feature1\Feature1.feature">
          <FeatureId>{$guid4$}</FeatureId>
        </None>
        <None Include="Features\Feature1\Feature1.Template.xml">
          <DependentUpon>Feature1.feature</DependentUpon>
        </None>
      </ItemGroup>
      <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
      <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets" />
    </Project>
    

    Beim Erstellen einer Visual Basic-Projektvorlage verwenden Sie das folgende XML:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
        <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
        <ProductVersion>
        </ProductVersion>
        <SchemaVersion>
        </SchemaVersion>
        <ProjectGuid>{$guid1$}</ProjectGuid>
        <OutputType>Library</OutputType>
        <RootNamespace>$safeprojectname$</RootNamespace>
        <AssemblyName>$safeprojectname$</AssemblyName>
        <TargetFrameworkVersion>v3.5</TargetFrameworkVersion>
        <FileAlignment>512</FileAlignment>
        <ProjectTypeGuids>{BB1F664B-9266-4fd6-B973-E1E44974B511};{D59BE175-2ED0-4C54-BE3D-CDAA9F3214C8};{F184B08F-C81C-45F6-A57F-5ABD9991F28F}</ProjectTypeGuids>
        <OptionExplicit>On</OptionExplicit>
        <OptionCompare>Binary</OptionCompare>
        <OptionStrict>Off</OptionStrict>
        <OptionInfer>On</OptionInfer>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
        <DebugSymbols>true</DebugSymbols>
        <DebugType>full</DebugType>
        <DefineDebug>true</DefineDebug>
        <DefineTrace>true</DefineTrace>
        <OutputPath>bin\Debug\</OutputPath>
        <WarningLevel>4</WarningLevel>
        <UseVSHostingProcess>false</UseVSHostingProcess>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
        <DebugType>pdbonly</DebugType>
        <DefineDebug>false</DefineDebug>
        <DefineTrace>true</DefineTrace>
        <Optimize>true</Optimize>
        <OutputPath>bin\Release\</OutputPath>
        <UseVSHostingProcess>false</UseVSHostingProcess>
      </PropertyGroup>
      <PropertyGroup>
        <SignAssembly>true</SignAssembly>
        <AssemblyOriginatorKeyFile>key.snk</AssemblyOriginatorKeyFile>
      </PropertyGroup>
      <ItemGroup>
        <Reference Include="System" />
        <Reference Include="System.Core" />
        <Reference Include="System.Data" />
        <Reference Include="System.Data.DataSetExtensions" />
        <Reference Include="System.Xml" />
        <Reference Include="System.Xml.Linq" />
        <Reference Include="Microsoft.SharePoint" />
        <Reference Include="Microsoft.SharePoint.Security" />
      </ItemGroup>
      <ItemGroup>
        <Import Include="Microsoft.VisualBasic" />
        <Import Include="System" />
        <Import Include="System.Collections" />
        <Import Include="System.Collections.Generic" />
        <Import Include="System.Data" />
        <Import Include="System.Diagnostics" />
        <Import Include="System.Linq" />
        <Import Include="System.Xml.Linq" />
        <Import Include="Microsoft.SharePoint" />
        <Import Include="Microsoft.SharePoint.Security" />
      </ItemGroup>
      <ItemGroup>
        <Compile Include="My Project\AssemblyInfo.vb" />
      </ItemGroup>
      <ItemGroup>
        <AppDesigner Include="My Project\" />
      </ItemGroup>
      <ItemGroup>
        <None Include="Features\Feature1\Feature1.feature">
          <FeatureId>{$guid4$}</FeatureId>
        </None>
        <None Include="Field1\SharePointProjectItem.spdata">
          <SharePointProjectItemId>{$guid2$}</SharePointProjectItemId>
        </None>
        <None Include="key.snk" />
        <None Include="Package\Package.package">
          <PackageId>{$guid3$}</PackageId>
        </None>
        <None Include="Package\Package.Template.xml">
          <DependentUpon>Package.package</DependentUpon>
        </None>
      </ItemGroup>
      <ItemGroup>
        <None Include="Features\Feature1\Feature1.Template.xml">
          <DependentUpon>Feature1.feature</DependentUpon>
        </None>
        <None Include="Field1\Elements.xml" />
      </ItemGroup>
      <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" />
      <Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\SharePointTools\Microsoft.VisualStudio.SharePoint.targets" />
    </Project>
    

    Durch das neue XML werden folgende Änderungen an der Datei vorgenommen:

    • Das Element TargetFrameworkVersion wird geändert, um .NET Framework 3.5 anzugeben.

    • Das Element AssemblyOriginatorKeyFile und das Element SignAssembly werden hinzugefügt, um die Projektausgabe zu signieren.

    • Neue Reference-Elemente für Assemblyverweise, die von SharePoint-Projekten verwendet werden, werden hinzugefügt.

    • Neue Elemente für die einzelnen Standarddateien im Projekt, z. B. Elements.xml oder SharePointProjectItem.spdata, werden hinzugefügt.

  3. Speichern und schließen Sie die Datei.

Erstellen eines VSIX-Pakets zum Bereitstellen der Projektvorlage

Erstellen Sie mithilfe des VSIX-Projekts in der Lösung SiteColumnProjectItem ein VSIX-Paket, um die Erweiterung bereitzustellen. 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

  1. Doppelklicken Sie im Projektmappen-Explorer auf die Datei source.extension.vsixmanifest im Projekt SiteColumnProjectItem.

    Visual Studio öffnet die Datei im Manifest-Editor. 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.

  2. Geben Sie im Feld Produktname den Namen Websitespalte ein.

  3. Geben Sie im Feld Autor den Namen Contoso ein.

  4. Geben Sie im Feld Beschreibung die Beschreibung SharePoint-Projekt zum Erstellen von Websitespalten ein.

  5. Klicken Sie im Abschnitt Inhalt des Editors auf die Schaltfläche Inhalte hinzufügen.

  6. Klicken Sie im Dialogfeld Inhalt hinzufügen auf das Dropdownfeld Inhaltstyp hinzufügen, und wählen Sie Projektvorlage aus.

    Tipp

    Dieser Wert entspricht dem ProjectTemplate-Element in der Datei extension.vsixmanifest. Durch dieses Element wird der Unterordner im VSIX-Paket identifiziert, der die Projektvorlage enthält. Weitere Informationen finden Sie unter ProjectTemplate Element (VSX Schema).

  7. Aktivieren Sie unter Quelle auswählen das Optionsfeld Projekt, und wählen Sie im zugehörigen Listenfeld den Eintrag SiteColumnProjectTemplate aus.

  8. Klicken Sie auf OK.

  9. Klicken Sie erneut auf die Schaltfläche zumHinzufügen von Inhalt.

  10. 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).

  11. Aktivieren Sie unter Quelle auswählen das Optionsfeld Projekt, und wählen Sie im zugehörigen Listenfeld den Eintrag ProjectItemTypeDefinition aus.

  12. Klicken Sie auf OK.

  13. Klicken Sie im Menü Erstellen auf Projektmappe erstellen. Stellen Sie sicher, dass das Projekt fehlerfrei kompiliert werden kann.

Testen der Projektvorlage

Jetzt können Sie die Projektvorlage testen. Debuggen Sie die Projektmappe SiteColumnProjectItem zunächst in der experimentellen Instanz von Visual Studio. Anschließend testen Sie das Projekt Websitespalte in der experimentellen Instanz von Visual Studio. Erstellen und führen Sie zum Schluss das SharePoint-Projekt aus, um sicherzustellen, dass die Websitespalte ordnungsgemäß funktioniert.

So debuggen Sie die Projektmappe

  1. Starten Sie Visual Studio erneut mit Administratorrechten, und öffnen Sie die Projektmappe SiteColumnProjectItem.

  2. Öffnen Sie die Codedatei SiteColumnProjectItemTypeProvider, und fügen Sie der ersten Codezeile in der InitializeType-Methode einen Haltepunkt hinzu.

  3. 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\Websitespalte\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 Projekt in Visual Studio

  1. Zeigen Sie in der experimentellen Instanz von Visual Studio im Menü Datei auf Neu, und klicken Sie dann auf Projekt.

  2. Erweitern Sie Visual C# oder Visual Basic (entsprechend der von der Projektvorlage unterstützten Sprache), erweitern Sie SharePoint, und klicken Sie anschließend auf 2010.

  3. Wählen Sie in der Liste der Projektvorlagen Websitespalte aus.

  4. Geben Sie im Feld Name den Namen SiteColumnTest ein.

  5. Klicken Sie auf OK. Im Projektmappen-Explorer wird ein neues Projekt namens Field1 angezeigt.

  6. Ü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.

  7. Klicken Sie im Projektmappen-Explorer auf den Knoten Field1, und drücken Sie F4. Das Eigenschaftenfenster wird geöffnet.

  8. Überprüfen Sie, ob die Eigenschaft Beispieleigenschaft in der Eigenschaftenliste angezeigt wird.

So testen Sie die Websitespalte in SharePoint

  1. Klicken Sie im Projektmappen-Explorer mit der rechten Maustaste auf den Knoten SiteColumnTest.

  2. Klicken Sie im Fenster Eigenschaftenauf das Textfeld neben der Eigenschaft Website-URL, und geben Sie https://localhost ein. Dadurch wird auf dem Entwicklungscomputer die lokale SharePoint-Website angegeben, die zum Debuggen verwendet werden soll.

    Tipp

    Die Eigenschaft Website-URL ist standardmäßig leer, weil von der Projektvorlage für die Websitespalte kein Assistent zum Erfassen dieses Werts beim Erstellen des Projekts bereitgestellt wird. Informationen zum Hinzufügen eines Assistenten, mit dem dieser Wert vom Entwickler abgefragt und anschließend die Eigenschaft im neuen Projekt konfiguriert wird, finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Projektelements "Websitespalte" mit einer Projektvorlage, Teil 2.

  3. Drücken Sie F5. Die Websitespalte 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.

  4. Klicken Sie im Menü Websiteaktionen auf Siteeinstellungen.

  5. Klicken Sie unter Galerien auf Websitespalten.

  6. Überprüfen Sie in der Liste der Websitespalten, ob diese die Gruppe Benutzerdefinierte Spalten mit der Spalte SiteColumnTest enthält.

  7. Schließen Sie den Webbrowser.

Bereinigen des Entwicklungscomputers

Nachdem Sie die Tests des Projekts abgeschlossen haben, entfernen Sie die Projektvorlage aus der experimentellen Instanz von Visual Studio.

So bereinigen Sie den Entwicklungscomputer

  1. Klicken Sie in der experimentellen Instanz von Visual Studio im Menü Extras auf Erweiterungs-Manager.

    Das Dialogfeld Erweiterungs-Manager wird geöffnet.

  2. Klicken Sie in der Liste mit den Erweiterungen auf Websitespalte und anschließend auf Deinstallieren.

  3. Klicken Sie im angezeigten Dialogfeld auf Ja, um zu bestätigen, dass Sie die Erweiterung deinstallieren möchten.

  4. Klicken Sie auf Jetzt neu starten, um die Deinstallation abzuschließen.

  5. Schließen Sie beide Instanzen von Visual Studio (die experimentelle Instanz und die Instanz von Visual Studio, in der die Projektmappe SiteColumnProjectItem geöffnet ist).

Nächste Schritte

Nachdem Sie diese exemplarische Vorgehensweise abgeschlossen haben, können Sie der Projektvorlage einen Assistenten hinzufügen. Beim Erstellen eines Websitespaltenprojekts wird der Benutzer vom Assistenten aufgefordert, die URL der Website anzugeben, die zum Debuggen verwendet werden soll. Darüber hinaus muss vom Benutzer angegeben werden, ob die neue Projektmappe als Sandkastenlösung bereitgestellt wird. Anschließend wird das Projekt vom Assistenten mit diesen Informationen konfiguriert. Ferner werden vom Assistenten Informationen zur Spalte (z. B. der Basistyp und die Gruppe, in der die Spalte in der Websitespaltengalerie aufgeführt werden soll) gesammelt und der Datei Elements.xml im neuen Projekt hinzugefügt. Weitere Informationen finden Sie unter Exemplarische Vorgehensweise: Erstellen eines Projektelements "Websitespalte" mit einer Projektvorlage, Teil 2.

Siehe auch

Weitere Ressourcen

Exemplarische Vorgehensweise: Erstellen eines Projektelements "Websitespalte" mit einer Projektvorlage, Teil 2

Definieren von benutzerdefinierten SharePoint-Projektelementtypen

Erstellen von Elementvorlagen und Projektvorlagen für SharePoint-Projektelemente

Speichern von Daten in Erweiterungen des SharePoint-Projektsystems

Zuordnen von benutzerdefinierten Daten zu SharePoint-Tools-Erweiterungen