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:
Agregue un elemento de menú contextual al elemento de proyecto. El elemento de menú aparece al hacer clic con el botón secundario en el elemento de proyecto en el Explorador de soluciones. Para obtener más información, vea Cómo: Agregar un elemento de menú contextual a una extensión de elemento de proyecto de SharePoint.
Agregue una propiedad personalizada al elemento de proyecto. La propiedad aparece en la ventana Propiedades al seleccionar el elemento de proyecto en el Explorador de soluciones. Para obtener más información, vea Cómo: Agregar una propiedad a una extensión de elemento de proyecto de SharePoint.
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.
En la tabla siguiente se enumeran los identificadores de elementos de proyecto de SharePoint incluidos en Visual Studio 2010.
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
Cómo: Crear una extensión de elemento de proyecto de SharePoint
Tutorial: Extender un tipo de elemento de proyecto de SharePoint
Conceptos
Extender el sistema de proyectos de SharePoint
Otros recursos
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