Compartir a través de


Extender elementos de proyecto de SharePoint

Cree una extensión de elemento de proyecto cuando desee agregar funcionalidad a un tipo de proyecto de SharePoint que ya se encuentra instalado en Visual Studio.Por ejemplo, puede crear una extensión para el Receptor de eventos integrado o elementos de proyecto de Definición de lista en Visual Studio o puede crear una extensión para un tipo de elemento de proyecto personalizado.También puede crear una extensión para todos los tipos de elementos de proyecto de SharePoint.

Tareas para extender los elementos de proyecto de SharePoint

Para extender un elemento de proyecto, compile un ensamblado de extensión de Visual Studio que implemente la interfaz ISharePointProjectItemTypeExtension.Para obtener más información, vea Cómo: Crear una extensión de elemento de proyecto de SharePoint.

Al extender un elemento de proyecto, también puede agregar la siguiente funcionalidad al elemento de proyecto:

Encontrará un tutorial que describe cómo crear, implementar y probar una extensión de elemento de proyecto en Tutorial: Extender un tipo de elemento de proyecto de SharePoint.

Entender la relación entre las extensiones de elemento de proyecto y las instancias de elemento de proyecto

Al crear una extensión de elemento de proyecto, Visual Studio carga su extensión cuando se agrega un elemento de proyecto del tipo asociado a un proyecto de SharePoint.Por ejemplo, si crea una extensión para los elementos de proyecto de Receptor de eventos, Visual Studio carga su extensión cuando un usuario agrega un elemento de proyecto de Receptor de eventos a un proyecto.Visual Studio usa la misma instancia de la extensión para todas las instancias del tipo de elemento de proyecto asociado.En el ejemplo anterior, si el usuario agrega un segundo elemento de proyecto de Receptor de eventos al proyecto, la misma instancia de su extensión se utiliza para personalizar el segundo elemento de proyecto.

Para obtener acceso a una instancia concreta del tipo de elemento de proyecto que se está extendiendo, controle uno de los eventos ISharePointProjectItemEvents del parámetro projectItemType en su implementación del método ISharePointProjectItemTypeExtension.Initialize.Por ejemplo, para determinar cuándo se agrega a un proyecto un elemento de proyecto del tipo que se está extendiendo, controle el evento ProjectItemAdded.Para obtener más información, vea Cómo: Crear una extensión de elemento de proyecto de SharePoint.

Identificadores para los elementos de proyecto de SharePoint

Cada elemento de proyecto de SharePoint tiene un identificador de cadena correspondiente.Debe conocer el identificador de un elemento de proyecto si desea realizar las tareas siguientes:

  • Cree una extensión para el elemento de proyecto.En este caso, debe pasar el identificador del elemento de proyecto que desea extender al constructor de la clase SharePointProjectItemTypeAttribute.Para crear una extensión para todos los tipos de elemento de proyecto, pase el valor de cadena *.

  • Agregue el elemento de proyecto a un proyecto mediante programación.En este caso, debe pasar el identificador del elemento de proyecto al método ISharePointProjectItemCollection.Add.

La tabla siguiente se enumeran los identificadores de elementos de proyecto de SharePoint incluidos en Visual Studio.

Nombre del elemento de proyecto

Identificador de cadena

Modelo de catálogo de datos profesionales

Microsoft.VisualStudio.SharePoint.BusinessDataConnectivity

Tipo de contenido

Microsoft.VisualStudio.SharePoint.ContentType

Receptor de eventos

Microsoft.VisualStudio.SharePoint.EventHandler

Elemento vacío

Microsoft.VisualStudio.SharePoint.GenericElement

Definición de lista

Definición de lista a partir del tipo de contenido

Microsoft.VisualStudio.SharePoint.ListDefinition

Instancia de lista

Microsoft.VisualStudio.SharePoint.ListInstance

Módulo

Microsoft.VisualStudio.SharePoint.Module

Flujo de trabajo secuencial

Flujo de trabajo de equipo de estado

Microsoft.VisualStudio.SharePoint.Workflow

Definición de sitio

Microsoft.VisualStudio.SharePoint.SiteDefinition

Elemento web visual

Microsoft.VisualStudio.SharePoint.VisualWebPart

Elemento web

Microsoft.VisualStudio.SharePoint.WebPart

Formulario de asociación de flujo de trabajo

Microsoft.VisualStudio.SharePoint.WorkflowAssociation

Vea también

Tareas

Tutorial: Extender un tipo de elemento de proyecto de SharePoint

Conceptos

Cómo: Crear una extensión de elemento de proyecto de SharePoint

Cómo: Agregar un elemento de menú contextual a una extensión de elemento de proyecto de SharePoint

Cómo: Agregar una propiedad a una extensión de elemento de proyecto de SharePoint

Extender el sistema de proyectos de SharePoint