Aracılığıyla paylaş


Nasıl yapılır: SharePoint proje öğesi uzantısı oluşturma

Visual Studioyüklü olan SharePoint projeöğe işlevselliği eklemek istiyorsanız, projeöğeuzantı oluşturun. Daha fazla bilgi için bkz. SharePoint proje öğeleri genişletme.

oluşturmak için bir projeöğeuzantı

  1. Bir sınıf kitaplık projeoluşturun.

  2. Aşağıdaki derlemeler başvurular ekleyin:

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. ISharePointProjectItemTypeExtension arabirimini uygulayan bir sınıf oluşturun.

  4. Aşağıdaki öznitelikler sınıfekleyin:

  5. Uygulamanız içinde Initialize yöntem, kullanım üyeleri projectItemType, uzantıdavranışını tanımlamak için parametre . Bu parametre bir ISharePointProjectItemTypetanımlanan olayları erişim sağlayan nesne ISharePointProjectItemEvents ve ISharePointProjectItemFileEvents arabirimleri. projeöğe türü belirli bir kopyasına erişmek için size genişletme, tanıtıcı ISharePointProjectItemEvents gibi olayların ProjectItemAdded ve ProjectItemInitialized.

Örnek

Aşağıdaki kod örneği göstermektedir olay alıcı projeöğeiçin basit bir uzantı oluşturmak ' ni. Her zaman kullanıcı SharePoint projeolay alıcı projeöğe ekler, bu uzantı için bir ileti yazar Çıkış pencere ve Hata Listesipencere.

Imports Microsoft.VisualStudio.SharePoint
Imports System
Imports System.ComponentModel
Imports System.ComponentModel.Composition

Namespace Contoso.ExampleProjectItemExtension

    <Export(GetType(ISharePointProjectItemTypeExtension))> _
    <SharePointProjectItemType("Microsoft.VisualStudio.SharePoint.EventHandler")> _
    Friend Class ExampleProjectItemExtension
        Implements ISharePointProjectItemTypeExtension

        Private Sub Initialize(ByVal projectItemType As ISharePointProjectItemType) _
            Implements ISharePointProjectItemTypeExtension.Initialize
            AddHandler projectItemType.ProjectItemAdded, AddressOf ProjectItemAdded
        End Sub

        Private Sub ProjectItemAdded(ByVal Sender As Object, ByVal e As SharePointProjectItemEventArgs)
            Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem)
            Dim Message As String = String.Format("An Event Handler project item named {0} was added to the {1} project.", _
                projectItem.Name, projectItem.Project.Name)
            projectItem.Project.ProjectService.Logger.WriteLine(Message, LogCategory.Message)
        End Sub
    End Class
End Namespace
using Microsoft.VisualStudio.SharePoint;
using System;
using System.ComponentModel;
using System.ComponentModel.Composition;

namespace Contoso.ExampleProjectItemExtension
{
    [Export(typeof(ISharePointProjectItemTypeExtension))]
    [SharePointProjectItemType("Microsoft.VisualStudio.SharePoint.EventHandler")]
    internal class ExampleProjectItemExtension : ISharePointProjectItemTypeExtension
    {
        public void Initialize(ISharePointProjectItemType projectItemType)
        {
            projectItemType.ProjectItemAdded += projectItemType_ProjectItemAdded;
        }

        void projectItemType_ProjectItemAdded(object sender, SharePointProjectItemEventArgs e)
        {
            ISharePointProjectItem projectItem = (ISharePointProjectItem)sender;
            string message = String.Format("An Event Handler project item named {0} was added to the {1} project.",
                projectItem.Name, projectItem.Project.Name);
            projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message);
        }
    }
}

Bu örnek iletisi yazmak üzere SharePoint proje hizmeti kullanır Çıkış pencere ve Hata Listesipencere. Daha fazla bilgi için bkz. SharePoint proje hizmeti kullanma.

Kod Derleniyor

Bu örnek, aşağıdaki derlemelerine başvurular gerektirir:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Uzantısı dağıtma

uzantı oluşturmak dağıtmak ' ni bir Visual Studio derleme ve uzantı dağıtmak istediğiniz diğer dosyaları uzantı (VSIX) paket . Daha fazla bilgi için bkz. Visual Studio SharePoint Araçlar için uzantıları dağıtma.

Ayrıca bkz.

Görevler

İzlenecek yol: SharePoint proje öğesi türü genişletme

Kavramlar

SharePoint proje öğeleri genişletme