Jak: definiowanie typu element projektu programu SharePoint
Kiedy chcesz utworzyć niestandardowy element projektu programu SharePoint, należy określić typ elementu projektu.Aby uzyskać więcej informacji, zobacz Definiowanie typów elementów projektu programu SharePoint niestandardowe.
Aby zdefiniować typ element projektu
Tworzenie projektu biblioteki klas.
Dodaj odwołania do następujących zestawów:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
Tworzenie klasy implementującej ISharePointProjectItemTypeProvider interfejsu.
Dodaj następujące atrybuty do klasy:
System.ComponentModel.Composition.ExportAttribute.Atrybut ten umożliwia Visual Studio odkryć i załadować Twoje ISharePointProjectItemTypeProvider realizacji.Przekazać ISharePointProjectItemTypeProvider typ atrybut konstruktora.
SharePointProjectItemTypeAttribute.W definicji typu element projektu ten atrybut określa identyfikator ciągu dla nowego elementu projektu.Korzystanie z formatu Nazwa firmy. nazwy funkcji do pomocy, upewnij się, że wszystkie elementy projektu mieć unikatową nazwę.
SharePointProjectItemIconAttribute.Ten atrybut Określa ikonę dla tego elementu projektu w Solution Explorer.Ten atrybut jest opcjonalny; Jeśli nie stosuje go do klasy, Visual Studio Wyświetla domyślną ikonę dla swojego przedmiotu projektu.Jeśli ten atrybut jest ustawiony, należy przekazać w pełni kwalifikowaną nazwę ikony lub mapy bitowej, który jest osadzony w zestawie swoje.
W implementacji InitializeType metoda, użyj członków projectItemTypeDefinition parametru, aby określić zachowanie typu elementu projektu.Ten parametr jest ISharePointProjectItemTypeDefinition obiekt, który zapewnia dostęp do zdarzenia zdefiniowane w ISharePointProjectItemEvents i ISharePointProjectItemFileEvents interfejsów.Dostęp konkretne wystąpienie tego typu element projektu, do obsługi ISharePointProjectItemEvents imprez, takich jak ProjectItemAdded i ProjectItemInitialized.
Przykład
Poniższy przykład kodu pokazuje jak zdefiniować typ elementu prosty projekt.Ten typ elementu projektu pisze wiadomość do produkcji okna i Lista błędów okno, gdy użytkownik dodaje element projektu tego typu 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);
}
}
}
W tym przykładzie użyto usługi programu SharePoint projektu, aby napisać wiadomość do produkcji okna i Lista błędów okna.Aby uzyskać więcej informacji, zobacz Za pomocą usługi SharePoint projektu.
Kompilowanie kodu
W tym przykładzie wymaga odwołania do następujących zestawów:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
Wdrażanie element projektu
Aby włączyć innych producentów do używania przedmiotu projektu, należy utworzyć szablon projektu lub szablonu elementu projektu.Aby uzyskać więcej informacji, zobacz Tworzenie elementu szablonów i szablony projektu dla elementów projektu programu SharePoint.
Aby wdrożyć element projektu, należy utworzyć Visual Studio pakiet rozszerzenia (VSIX) Zgromadzenia, szablon i innych plików, które chcesz dystrybuować z elementem projektu.Aby uzyskać więcej informacji, zobacz Wdrażanie rozszerzeń dla narzędzia programu SharePoint w programie Visual Studio.
Zobacz też
Zadania
Instruktaż: Tworzenie elementu projektu działania niestandardowe z szablonu elementu, część 1
Instruktaż: Tworzenie elementu projektu kolumny witryny z szablonu projektu, część 1
Koncepcje
Definiowanie typów elementów projektu programu SharePoint niestandardowe
Tworzenie elementu szablonów i szablony projektu dla elementów projektu programu SharePoint
Jak: Dodawanie właściwości do niestandardowy typ elementu projektu programu SharePoint
Jak: Dodaj element Menu skrótów na niestandardowy typ elementu projektu programu SharePoint