Información general del modelo de programación de extensiones de SharePoint
Cuando se crea una extensión de herramientas de SharePoint en Visual Studio, se inicia implementando una o más interfaces de extensibilidad expuestas por las herramientas de SharePoint.En la mayoría de los casos, también debe usar otros tipos proporcionados por las herramientas de SharePoint para implementar las características en la extensión.En algunos escenarios también puede usar los tipos de otros modelos de objetos proporcionados por Visual Studio y SharePoint.Debe entender el propósito de cada uno de estos modelos de objetos y saber usarlos entre sí para crear extensiones para las herramientas de SharePoint.
Extender las herramientas SharePoint implementando las interfaces de extensibilidad
Visual Studio usa Managed Extensibility Framework (MEF) de .NET Framework 4 para proporcionar el modelo de extensibilidad de las herramientas de SharePoint.MEF es una API (implementada en el ensamblado System.ComponentModel.Composition) que habilita las aplicaciones para exponer los puntos de extensibilidad y detectar y cargar las extensiones en tiempo de ejecución.Para obtener más información sobre MEF, vea Managed Extensibility Framework (MEF).
Para extender las herramientas de SharePoint, implemente una o más interfaces de extensibilidad expuestas por Visual Studio.Debe aplicar también System.ComponentModel.Composition.ExportAttribute y los atributos adicionales específicos de herramientas de SharePoint según sea necesario, a la implementación de interfaz.En la tabla siguiente se hace una lista de las interfaces que puede implementar para extender las herramientas de SharePoint.
Interfaz |
Descripción |
---|---|
Implemente esta interfaz para definir un nuevo tipo de elemento de proyecto de SharePoint.Para obtener un ejemplo, vea Cómo: Definir un tipo de elemento de proyecto de SharePoint. |
|
Implemente esta interfaz para extender un tipo de elemento de proyecto de SharePoint que ya está instalado en Visual Studio.Para obtener un ejemplo, vea Cómo: Crear una extensión de elemento de proyecto de SharePoint. |
|
Implemente esta interfaz para extender los proyectos SharePoint.Para obtener un ejemplo, vea Cómo: Crear una extensión de proyecto de SharePoint. |
|
Implemente esta interfaz para definir un nuevo paso de implementación que se pueda ejecutar cuando se está implementando o retirando un elemento de proyecto de SharePoint.Para obtener un ejemplo, vea Tutorial: Crear un paso de implementación personalizado para proyectos de SharePoint. |
|
Implemente esta interfaz para extender un nodo existente bajo el nodo Conexiones de SharePoint en la ventana Explorador de servidores.Para obtener un ejemplo, vea Cómo: Extender un nodo de SharePoint en el Explorador de servidores. |
|
Implemente esta interfaz para definir un nuevo tipo de nodo bajo el nodo Conexiones de SharePoint en la ventana Explorador de servidores.Para obtener un ejemplo, vea Cómo: Extender un nodo de SharePoint en el Explorador de servidores. |
|
Implemente esta interfaz para definir una regla de validación de características personalizada.Para obtener un ejemplo, vea Cómo: Crear reglas de validación de la característica y el paquete personalizados para las soluciones de SharePoint. |
|
Implemente esta interfaz para definir una regla de validación de paquetes personalizada.Para obtener un ejemplo, vea Cómo: Crear reglas de validación de la característica y el paquete personalizados para las soluciones de SharePoint. |
Después de implementar una extensión de herramientas de SharePoint, debe implementar el ensamblado de la extensión en un paquete de extensión de Visual Studio (VSIX) para permitir que Visual Studio detecte y cargue la extensión.Para obtener más información, vea Extensiones de implementación para las Herramientas de SharePoint en Visual Studio.
Introducción a los modelos de objetos que se usan en las extensiones de herramientas de SharePoint
Hay varios modelos de objetos que se pueden usar al crear extensiones para las herramientas de SharePoint:
Modelo de objetos de herramientas de SharePoint.Este modelo de objetos proporciona las interfaces de extensibilidad que se implementan para crear extensiones de las herramientas SharePoint y otros tipos relacionados.
Modelos de objetos de integración y automatización de Visual Studio.Use estos modelos de objetos para obtener acceso a las características de Visual Studio que están fuera del ámbito del modelo de objetos de herramientas de SharePoint.
[!NOTA]
Puede convertir algunos objetos del modelo de objetos de herramientas de SharePoint en objetos de los modelos de objetos de integración y automatización, y viceversa, mediante el servicio de proyecto de SharePoint.Para obtener más información, vea Convertir los tipos de sistema de proyectos de SharePoint en otros tipos de proyecto de Visual Studio.
Modelos de servidor y de objetos de cliente de SharePoint.Use estos modelos de objetos para modificar un sitio de SharePoint o para recuperar datos de un sitio de SharePoint del contexto de una extensión de herramientas de SharePoint.
Modelo de objetos Herramientas de SharePoint
Cada extensión de herramientas de SharePoint usa los tipos del modelo de objetos de herramientas de SharePoint para definir el comportamiento y la funcionalidad básicos de la extensión.En la tabla siguiente se describen los espacios de nombres que están incluidos en este modelo de objetos.
Ensamblado |
Espacio de nombres |
Descripción |
---|---|---|
Microsoft.VisualStudio.SharePoint.dll |
Contiene los tipos que se usan para extender y automatizar el sistema de proyectos de SharePoint.Por ejemplo, puede extender elementos de proyecto y proyectos SharePoint integrados, o puede crear sus propios elementos de proyecto.Para obtener más información, vea Extender el sistema de proyectos de SharePoint. |
|
Contiene los tipos que se usan para extender el proceso de implementación de los proyectos de SharePoint, como crear sus propios pasos de implementación y configuraciones de implementación.Para obtener más información, vea Extender el empaquetado e implementación de SharePoint. |
||
Contiene los tipos que se usan para extender los nodos bajo el nodo Conexiones de SharePoint en la ventana Explorador de servidores o definir nuevos tipos de nodos.Para obtener más información, vea Extender el nodo Conexiones de SharePoint en el Explorador de servidores. |
||
Contiene los tipos que se usan para obtener acceso a las definiciones de características en un proyecto de SharePoint. |
||
Contiene los tipos que se usan para obtener acceso a la definición del paquete de una solución de SharePoint. |
||
Contiene los tipos que se usan para personalizar el comportamiento de la validación de paquetes y características de proyectos de SharePoint.Para obtener más información, vea Cómo: Crear reglas de validación de la característica y el paquete personalizados para las soluciones de SharePoint. |
||
Microsoft.VisualStudio.SharePoint.Commands.dll |
Contiene tipos que se pueden usar para crear comandos de SharePoint personalizados.Un comando de SharePoint es un método que llama al modelo de objetos de servidor de SharePoint desde una extensión de herramientas de SharePoint.Para obtener más información, vea Llamar a los modelos de objetos de SharePoint. |
|
Microsoft.VisualStudio.SharePoint.Explorer.Extensions.dll |
Contiene tipos que se pueden usar para obtener información sobre los nodos integrados del Explorador de servidores que representan los componentes individuales de un sitio de SharePoint, como un nodo que represente una lista, un campo o un tipo de contenido.Para obtener más información, vea Extender el nodo Conexiones de SharePoint en el Explorador de servidores. |
Modelo de objetos de automatización de Visual Studio
El modelo de objetos de automatización de Visual Studio proporciona las API que puede usar para automatizar los proyectos de Visual Studio y el IDE.Utilice el modelo del objeto de Visual Studio para realizar tareas relacionadas con el proyecto que no son específicas de los proyectos SharePoint o realizar otras tareas de automatización generales en Visual Studio.Tradicionalmente, este modelo de objetos se emplea en los complementos y macros de Visual Studio, pero también puede usarlo en las extensiones de herramientas de SharePoint.
La parte principal del modelo de objetos de automatización de Visual Studio se define en el ensamblado EnvDTE.dll.Los ensamblados EnvDTE80.dll, EnvDTE90.dll, EnvDTE100.dll, y de EnvDTE110.dll proporcionan funcionalidad adicional que se introdujo en Visual Studio 2005, Visual Studio 2008, Visual Studio 2010, y Visual Studio 2012, respectivamente.Estos ensamblados están incluidos con Visual Studio.
Para obtener más información sobre el modelo de automatización de Ampliar el entorno de Visual Studio, vea Referencia de automatización y extensibilidad.
Modelo de objetos de integración de Visual Studio
El modelo de objetos de integración proporciona APIs que puede utilizar para agregar características a Visual Studio creando un VSPackage.Un VSPackage es un módulo que extiende el IDE de Visual Studio al proporcionar características personalizadas como, por ejemplo, ventanas de herramientas, editores, diseñadores, servicios y proyectos.
Puede usar el modelo de objetos de integración si desea agregar una nueva característica de Visual Studio que se utilizará con las herramientas de SharePoint integradas.Por ejemplo, si crea un elemento de proyecto de SharePoint personalizado que representa una acción personalizada para un sitio de SharePoint, también puede crear un VSPackage que implemente un diseñador para la acción personalizada.Puede asociar el diseñador a la acción personalizada agregando un elemento de menú contextual al elemento que representa la acción personalizada en Explorador de soluciones.Puede abrir el diseñador abriendo el menú contextual (haciendo clic con el botón secundario en el elemento de proyecto acción personalizada o eligiendo y elige las claves de cambio + de la F10) y elige Abrir.
Este modelo de objetos se define en un conjunto de ensamblados que están incluidos en el SDK de Visual Studio.Algunos de los ensamblados principales de incluyen Microsoft.VisualStudio.Shell.11.0.dll, Microsoft.VisualStudio.Shell.Interop.dll, y Microsoft.VisualStudio.OLE.Interop.dll del modelo de objetos.
Para obtener más información sobre el modelo de objetos de integración, vea Modelo del entorno de desarrollo de Visual Studio, vea Referencia SDK de Visual Studio.
Modelos de objetos de SharePoint
Las extensiones de herramientas de SharePoint pueden utilizar las API de SharePoint para modificar un sitio de SharePoint o recuperar su datos.Microsoft SharePoint Foundation 2010 y Microsoft SharePoint Server 2010 proporcionan dos modelos de objetos diferentes: un modelo de objetos de servidor y un modelo de objetos de cliente.
Puede utilizar las API en cualquier modelo de objetos de extensión de herramientas de SharePoint, pero cada uno tiene sus ventajas y desventajas en el contexto de las extensiones de herramientas de SharePoint.Para obtener más información, vea Llamar a los modelos de objetos de SharePoint.
Modelo de objetos |
Descripción |
---|---|
Modelo de objetos de servidor |
El modelo de objetos de servidor proporciona acceso a todas las características que Microsoft SharePoint Foundation 2010 y Microsoft SharePoint Server 2010 exponen mediante programación.Este modelo de objetos está diseñado para ser utilizado por las soluciones de SharePoint que se ejecutan en el servidor de SharePoint.La mayor parte del modelo la define el ensamblado Microsoft.SharePoint.dll.Para obtener más información acerca del modelo de objetos de servidor, vea Utilizar el modelo de objetos de servidor de SharePoint Foundation. |
Modelo de objetos de cliente |
El modelo de objetos de cliente es un subconjunto del modelo de objetos de servidor que se puede utilizar para interoperar con datos de SharePoint de un servidor o cliente remoto.Está diseñado para minimizar el número de viajes de ida y vuelta (round trip) que se deben ejecutar para llevar a cabo tareas comunes.La mayor parte del modelo de objetos de cliente se define en los ensamblados Microsoft.SharePoint.Client.dll y Microsoft.SharePoint.Client.Runtime.dll.Para obtener más información acerca del modelo de objetos de cliente, vea Modelo de objetos de cliente administrado. |
Vea también
Conceptos
Llamar a los modelos de objetos de SharePoint
Modelo del entorno de desarrollo de Visual Studio
Utilizar el servicio de proyecto de SharePoint