Udostępnij za pośrednictwem


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

  1. Tworzenie projektu biblioteki klas.

  2. Dodaj odwołania do następujących zestawów:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Tworzenie klasy implementującej ISharePointProjectItemTypeProvider interfejsu.

  4. Dodaj następujące atrybuty do klasy:

  5. 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