Sdílet prostřednictvím


Postupy: Definování typu položky projektu SharePoint

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

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:

    • 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 Použití služby projektu služby SharePoint.

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 Vytváření šablon položek a projektů pro položky projektu služby SharePoint.

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ávod: Vytvoření vlastní položky projektu akce pomocí šablony položky, část 1

Návod: Vytvoření položky projektu sloupce webu pomocí šablony projektu, část 1

Koncepty

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

Vytváření šablon položek a projektů pro položky projektu služby SharePoint

Postupy: Přidání vlastnosti do vlastního typu položky projektu SharePoint

Postupy: Přidání položky místní nabídky do vlastního typu položky projektu služby SharePoint