Sdílet prostřednictvím


Postup: definovat typ položky služby SharePoint projektu

Definujte typ položky projekt, pokud chcete vytvořit vlastní položku projektu služby SharePoint.Další informace naleznete v tématu Definování typů položek projektu SharePoint vlastní.

Pro definování typu položky projektu SharePoint

  1. Vytvořte projekt knihovny tříd.

  2. Přidejte odkazy do následujících sestavení:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Vytvořte třídu, která implementuje rozhraní ISharePointProjectItemTypeProvider.

  4. Přidejte následující atributy do třídy:

    • System.ComponentModel.Composition.ExportAttribute.Tento atribut umožňuje Visual Studiu zjišťovat a načítat vaši implementaci ISharePointProjectItemTypeProvider.Předejte ISharePointProjectItemTypeProvider typ do konstruktoru atributu.

    • SharePointProjectItemTypeAttribute.V definici typu položky projektu tento atribut určuje identifikátor řetězce pro novou položku projektu.Doporučujeme použít formát Název společnosti.Název funkce směřujících k zajištění, že všechny položky projektu mají jedinečný název.

    • SharePointProjectItemIconAttribute.Tento atribut určuje na ikonu zobrazenou pro tuto položku projekt v Průzkumníku řešení.Tento atribut je volitelný; není-li použit ve vaší třídě, Visual Studio zobrazí výchozí ikonu pro tuto položku projekt.Nastavíte-li tento atribut, předejte plně kvalifikovaný název ikony nebo rastrový obrázek, který je vložen do vašeho sestavení.

  5. Vaše implementace metody InitializeType používá členy parametru projectItemTypeDefinition pro definování chování typu položky projektu.Tento parametr je objekt ISharePointProjectItemTypeDefinition, který poskytuje přístup k událostem definovaným v rozhraní ISharePointProjectItemEvents a ISharePointProjectItemFileEvents.Chcete-li získat přístup k určité instanci vašeho typu položky projektu, zpracovávejte události ISharePointProjectItemEvents, jako jsou například ProjectItemAdded a ProjectItemInitialized.

Příklad

Následující příklad kódu demonstruje definování jednoduchý typ položky projektu.Tento typ položky projektu zapisuje zprávu do okna Výstup a okna Seznam chyb při přidání položky projektu tohoto typu do projektu.

Imports System
Imports System.ComponentModel.Composition
Imports Microsoft.VisualStudio.SharePoint

Namespace Contoso.ExampleProjectItemType

    <Export(GetType(ISharePointProjectItemTypeProvider))> _
    <SharePointProjectItemType("Contoso.ExampleProjectItemType")> _
    <SharePointProjectItemIcon("ExampleProjectItemType.ProjectItemIcon.ico")> _
    Friend Class ExampleProjectItemType
        Implements ISharePointProjectItemTypeProvider

        Private Sub InitializeType(ByVal projectItemTypeDefinition As ISharePointProjectItemTypeDefinition) _
            Implements ISharePointProjectItemTypeProvider.InitializeType
            projectItemTypeDefinition.Name = "ExampleProjectItemType"
            projectItemTypeDefinition.SupportedDeploymentScopes = _
                SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web
            projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All
            AddHandler projectItemTypeDefinition.ProjectItemAdded, AddressOf ProjectItemAdded
        End Sub

        Private Sub ProjectItemAdded(ByVal Sender As Object, ByVal e As SharePointProjectItemEventArgs)
            Dim Message As String = String.Format("An example project item named {0} was added to the {1} project.", _
                e.ProjectItem.Name, e.ProjectItem.Project.Name)
            e.ProjectItem.Project.ProjectService.Logger.WriteLine(Message, LogCategory.Message)
        End Sub
    End Class
End Namespace
using System;
using Microsoft.VisualStudio.SharePoint;
using System.ComponentModel.Composition;

namespace Contoso.ExampleProjectItemType
{
    [Export(typeof(ISharePointProjectItemTypeProvider))]
    [SharePointProjectItemType("Contoso.ExampleProjectItemType")]
    [SharePointProjectItemIcon("ExampleProjectItemType.ProjectItemIcon.ico")]
    internal class ExampleProjectItemType : ISharePointProjectItemTypeProvider
    {
        public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition)
        {
            projectItemTypeDefinition.Name = "ExampleProjectItemType";
            projectItemTypeDefinition.SupportedDeploymentScopes =
                SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web;
            projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All;
            projectItemTypeDefinition.ProjectItemAdded += projectItemTypeDefinition_ProjectItemAdded;
        }

        void projectItemTypeDefinition_ProjectItemAdded(object sender, SharePointProjectItemEventArgs e)
        {
            string message = String.Format("An example project item named {0} was added to the {1} project.",
                e.ProjectItem.Name, e.ProjectItem.Project.Name);
            e.ProjectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message);
        }
    }
}

V tomto příkladu je pomocí projektu služby SharePoint zapsána zpráva do okna Výstup a do okna Seznam chyb.Další informace naleznete v tématu Pomocí služby SharePoint projektu.

Probíhá kompilace kódu

Tento příklad vyžaduje odkazy na následující sestavení:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Nasazení položky projektu

Chcete-li povolit ostatním vývojářům použít vaše položky projektu, vytvořte šablonu projektu nebo šablonu položky projektu.Další informace naleznete v tématu Vytvoření položky šablony a šablony aplikace Project pro položky služby SharePoint projektu.

Chcete-li nasadit položku projektu, vytvořte balíček Visual Studio rozšíření (VSIX) pro sestavení, šablonu a všechny další soubory, které chcete distribuovat s položkou projektu.Další informace naleznete v tématu Nasazování rozšíření pro nástroje služby SharePoint v aplikaci Visual Studio.

Viz také

Úkoly

Názorný postup: Vytváření projektu vlastní akci pomocí položky šablony, část 1

Názorný postup: Vytvoření položky projektu sloupec webu pomocí šablony projektu, část 1

Koncepty

Definování typů položek projektu SharePoint vlastní

Vytvoření položky šablony a šablony aplikace Project pro položky služby SharePoint projektu

Jak: Přidat typ položky služby SharePoint projektu vlastní vlastnost

Jak: položky místní nabídky přidat vlastní typ položky projektu SharePoint