Compartilhar via


Como: Criar uma extensão de Item de projeto do SharePoint

Crie uma extensão de item de projeto quando quiser adicionar funcionalidade a um item de projeto do SharePoint já está instalado em Visual Studio. Para obter mais informações, consulte Estendendo os itens de projeto do SharePoint.

Para criar uma extensão de item de projeto

  1. Crie um projeto de biblioteca de classe.

  2. Adicione referências para os seguintes conjuntos de módulos (assemblies) :

    • Microsoft.VisualStudio.SharePoint

    • System.ComponentModel.Composition

  3. Crie uma nova classe que implemente a interface ISharePointProjectItemTypeExtension.

  4. Adicione os seguintes atributos à classe:

  5. Na implementação da Initialize método, use os membros a projectItemType parâmetro para definir o comportamento de extensão. Este parâmetro é um ISharePointProjectItemType objeto fornece acesso a eventos definidos no ISharePointProjectItemEvents e ISharePointProjectItemFileEvents interfaces. Para acessar uma instância específica do tipo de item de projeto que você estiver estendendo, manipular ISharePointProjectItemEvents eventos como ProjectItemAdded e ProjectItemInitialized.

Exemplo

O exemplo de código a seguir demonstra como criar uma simples extensão do item de projeto do receptor de eventos. Cada vez que o usuário adiciona um item de projeto do receptor de evento a um projeto do SharePoint, essa extensão grava uma mensagem para o saída janela e Error List janela.

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);
        }
    }
}

Este exemplo usa o serviço de projeto do SharePoint para gravar a mensagem para o saída janela e Error List janela. Para obter mais informações, consulte Usando o serviço de projeto do SharePoint.

Compilando o código

Este exemplo requer referências aos assemblies seguintes:

  • Microsoft.VisualStudio.SharePoint

  • System.ComponentModel.Composition

Implantação da extensão

Para implantar a extensão, criar um Visual Studio pacote de extensão (VSIX) para o assembly e outros arquivos que você deseja distribuir com extensão. Para obter mais informações, consulte Implantar extensões para as ferramentas do SharePoint em Visual Studio.

Consulte também

Tarefas

Demonstra Passo a passo: Estendendo um tipo de Item de projeto do SharePoint

Outros recursos

Estendendo os itens de projeto do SharePoint