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
Vytvořte projekt knihovny tříd.
Přidejte odkazy do následujících sestavení:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
Vytvořte třídu, která implementuje rozhraní ISharePointProjectItemTypeProvider.
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í.
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