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í typy položek projektu 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řit třídu, která implementuje ISharePointProjectItemTypeProvider rozhraní.
Přidejte následující atributy do třídy:
System.ComponentModel.Composition.ExportAttribute. Tento atribut umožňuje vyhledat a načíst Visual Studio vaše ISharePointProjectItemTypeProvider provedení. Předat ISharePointProjectItemTypeProvider typu konstruktor 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 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 Vytváření položek projektu SharePoint položku šablony a šablony aplikace Project.
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
Podrobné pokyny: Vytvoření položky projektu vlastní akce položku šablony, část 1
Další zdroje
Definování vlastní typy položek projektu SharePoint
Vytváření položek projektu SharePoint položku šablony a šablony aplikace Project
Podrobné pokyny: Vytvoření položky projektu sloupec webu pomocí šablony projektu, část 1
Postupy: Přidání vlastnosti do vlastního typu položky projektu SharePoint
Postupy: Přidat vlastní typ položky projektu SharePoint položky místní nabídky