Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Puede extender el sistema de proyectos de SharePoint en Visual Studio 2010 creando sus propios tipos de elemento de proyecto. En este tutorial, creará un elemento de proyecto que se puede agregar a un proyecto de SharePoint para crear una acción personalizada en un sitio de SharePoint. La acción personalizada agrega un elemento de menú al menú Acciones del sitio del sitio de SharePoint.
En este tutorial se muestran las siguientes tareas:
Crear una extensión de Visual Studio que define un nuevo tipo de elemento de proyecto de SharePoint para una acción personalizada. El nuevo tipo de elemento de proyecto implementa varias características personalizadas:
Un menú contextual que actúa como un punto inicial para las tareas adicionales relacionadas con el elemento de proyecto, como mostrar un diseñador para la acción personalizada en Visual Studio.
Código que se ejecuta cuando un desarrollador cambia ciertas propiedades del elemento de proyecto y del proyecto que lo contiene.
Un icono personalizado que aparece al lado del elemento de proyecto en el Explorador de soluciones.
Crear una plantilla de elementos de Visual Studio para el elemento de proyecto.
Compilar un paquete de extensión de Visual Studio (VSIX) para implementar la plantilla de elemento de proyecto y el ensamblado de la extensión.
Depurar y probar el elemento de proyecto.
Este es un tutorial independiente. Después de completar este tutorial, puede mejorar el elemento de proyecto si agrega un asistente a la plantilla de elemento. Para obtener más información, vea Tutorial: Crear un elemento de proyecto de acción personalizado con una plantilla de elementos, parte 2.
Nota
Puede descargar un ejemplo que contiene los proyectos completos, el código y otros archivos para este tutorial de la siguiente ubicación: https://go.microsoft.com/fwlink/?LinkId=191369.
Requisitos previos
Necesitará los componentes siguientes en el equipo de desarrollo para completar este tutorial:
Ediciones compatibles de Microsoft Windows, SharePoint y Visual Studio. Para obtener más información, vea Requisitos para desarrollar soluciones de SharePoint.
Visual Studio 2010 SDK. En este tutorial se utiliza la plantilla Proyecto VSIX del SDK para crear un paquete VSIX e implementar el elemento. Para obtener más información, vea Extender la Herramientas de SharePoint en Visual Studio.
El conocimiento de los siguientes conceptos es útil, aunque no necesario, para completar el tutorial.
Acciones personalizadas en SharePoint. Para obtener más información, vea Acción personalizada.
Plantillas de elemento en Visual Studio. Para obtener más información, vea Introducción a las plantillas de Visual Studio.
Crear los proyectos
Para completar este tutorial, debe crear tres proyectos:
Un proyecto VSIX. Este proyecto crea el paquete VSIX para implementar el elemento de proyecto de SharePoint.
Un proyecto de plantilla de elemento. Este proyecto crea una plantilla de elemento que se puede utilizar para agregar el elemento de proyecto de SharePoint a un proyecto de SharePoint.
Un proyecto de biblioteca de clases. Este proyecto implementa una extensión de Visual Studio que define el comportamiento del elemento de proyecto de SharePoint.
Comience el tutorial creando ambos proyectos.
Para crear el proyecto VSIX
Inicie Visual Studio.
En el menú Archivo, elija Nuevo y haga clic en Proyecto.
Asegúrese de que .NET Framework 4 esté seleccionado en el cuadro combinado de la parte superior del cuadro de diálogo Nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto, expanda el nodo Visual Basic o Visual C# y, a continuación, haga clic en el nodo Extensibilidad.
Nota
El nodo Extensibilidad solo está disponible si instala Visual Studio 2010 SDK. Para obtener más información, vea la sección anterior sobre los requisitos previos.
Haga clic en la plantilla Proyecto VSIX.
En el cuadro Nombre, escriba ElementoProyectoAcciónPersonalizada.
Haga clic en Aceptar.
Visual Studio agrega el proyecto ElementoProyectoAcciónPersonalizada al Explorador de soluciones.
Para crear el proyecto de plantilla de elemento
En el Explorador de soluciones, haga clic con el botón secundario en el nodo de la solución, después haga clic en Agregar y, a continuación, en Nuevo proyecto.
Nota
En los proyectos de Visual Basic, el nodo de la solución aparece en el Explorador de soluciones solo cuando se activa la casilla Mostrar solución siempre en General, Proyectos y soluciones, Opciones (Cuadro de diálogo).
Asegúrese de que .NET Framework 4 esté seleccionado en el cuadro combinado de la parte superior del cuadro de diálogo Nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto, expanda el nodo Visual Basic o Visual C# y, a continuación, haga clic en el nodo Extensibilidad.
En la lista de plantillas de proyecto, seleccione Plantilla de elemento de C# o Plantilla de elemento de Visual Basic.
En el cuadro Nombre, escriba ItemTemplate.
Haga clic en Aceptar.
Visual Studio agrega el proyecto ItemTemplate a la solución.
Para crear la extensión de proyecto
En el Explorador de soluciones, haga clic con el botón secundario en el nodo de la solución, después haga clic en Agregar y, a continuación, en Nuevo proyecto.
Asegúrese de que .NET Framework 4 esté seleccionado en el cuadro combinado de la parte superior del cuadro de diálogo Nuevo proyecto.
En el cuadro de diálogo Nuevo proyecto, expanda los nodos Visual C# o Visual Basic y, a continuación, haga clic en el nodo Windows.
Seleccione la plantilla de proyecto Biblioteca de clases.
En el cuadro Nombre, escriba DefiniciónElementoProyecto.
Haga clic en Aceptar.
Visual Studio agrega el proyecto DefiniciónElementoProyecto a la solución y abre el archivo de código predeterminado Class1.
Elimine el archivo de código Class1 del proyecto.
Configurar el proyecto de extensión
Antes de escribir el código para definir el tipo de elemento de proyecto de SharePoint, tiene que agregar los archivos de código y las referencias de ensamblado al proyecto de extensión.
Para configurar el proyecto
En el proyecto ProjectItemDefinition, agregue los archivos de código con el nombre CustomAction.
Haga clic en la opción Agregar referencia del menú Proyecto.
En la pestaña .NET, presione CTRL y haga clic en los ensamblados siguientes y, a continuación, haga clic en Aceptar:
Microsoft.VisualStudio.SharePoint
System.ComponentModel.Composition
System.Windows.Forms
Definir el nuevo tipo de elemento de proyecto de SharePoint
Cree una clase que implemente la interfaz ISharePointProjectItemTypeProvider para definir el comportamiento del nuevo tipo de elemento de proyecto. Implemente esta interfaz para definir un nuevo tipo de elemento de proyecto todas las veces que desee.
Para definir el nuevo tipo de elemento de proyecto de SharePoint
En el proyecto ProjectItemDefinition, abra el archivo de código CustomAction.
Reemplace el código de este archivo por el código siguiente.
Imports System Imports System.Diagnostics Imports System.ComponentModel Imports System.ComponentModel.Composition Imports Microsoft.VisualStudio.SharePoint Namespace Contoso.SharePointProjectItems.CustomAction ' Export attribute: Enables Visual Studio to discover and load this extension. ' SharePointProjectItemType attribute: Specifies the ID for this new project item type. This string must ' match the value of the Type attribute of the ProjectItem element in the .spdata file for ' the project item. ' SharePointProjectItemIcon attribute: Specifies the icon to display with this project item in Solution Explorer. ' CustomActionProjectItemTypeProvider class: Defines a new type of project item that can be used to create a custom ' action on a SharePoint site. <Export(GetType(ISharePointProjectItemTypeProvider))> _ <SharePointProjectItemType("Contoso.CustomAction")> _ <SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")> _ Partial Friend Class CustomActionProjectItemTypeProvider Implements ISharePointProjectItemTypeProvider Private WithEvents projectItemTypeDefinition As ISharePointProjectItemTypeDefinition ' Configures the behavior of the project item type. Private Sub InitializeType(ByVal projectItemTypeDefinition As ISharePointProjectItemTypeDefinition) _ Implements ISharePointProjectItemTypeProvider.InitializeType projectItemTypeDefinition.Name = "CustomAction" projectItemTypeDefinition.SupportedDeploymentScopes = _ SupportedDeploymentScopes.Site Or SupportedDeploymentScopes.Web projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All Me.projectItemTypeDefinition = projectItemTypeDefinition End Sub Private Const DesignerMenuItemText As String = "View Custom Action Designer" Private Sub ProjectItemMenuItemsRequested(ByVal Sender As Object, _ ByVal e As SharePointProjectItemMenuItemsRequestedEventArgs) _ Handles projectItemTypeDefinition.ProjectItemMenuItemsRequested Dim viewDesignerMenuItem As IMenuItem = e.ViewMenuItems.Add(DesignerMenuItemText) AddHandler viewDesignerMenuItem.Click, AddressOf MenuItemClick End Sub Private Sub MenuItemClick(ByVal Sender As Object, ByVal e As MenuItemEventArgs) Dim projectItem As ISharePointProjectItem = CType(e.Owner, ISharePointProjectItem) Dim message As String = String.Format("You clicked the menu on the {0} item. " & _ "You could perform some related task here, such as displaying a designer " & _ "for the custom action.", projectItem.Name) System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action") End Sub Private Sub ProjectItemNameChanged(ByVal Sender As Object, ByVal e As NameChangedEventArgs) _ Handles projectItemTypeDefinition.ProjectItemNameChanged Dim projectItem As ISharePointProjectItem = CType(Sender, ISharePointProjectItem) Dim message As String = String.Format("The name of the {0} item changed to: {1}", _ e.OldName, projectItem.Name) projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message) End Sub End Class End Namespaceusing System; using System.Diagnostics; using System.ComponentModel; using System.ComponentModel.Composition; using Microsoft.VisualStudio.SharePoint; namespace Contoso.SharePointProjectItems.CustomAction { // Enables Visual Studio to discover and load this extension. [Export(typeof(ISharePointProjectItemTypeProvider))] // Specifies the ID for this new project item type. This string must match the value of the // Type attribute of the ProjectItem element in the .spdata file for the project item. [SharePointProjectItemType("Contoso.CustomAction")] // Specifies the icon to display with this project item in Solution Explorer. [SharePointProjectItemIcon("ProjectItemDefinition.CustomAction_SolutionExplorer.ico")] // Defines a new type of project item that can be used to create a custom action on a SharePoint site. internal partial class CustomActionProjectItemTypeProvider : ISharePointProjectItemTypeProvider { // Implements IProjectItemTypeProvider.InitializeType. Configures the behavior of the project item type. public void InitializeType(ISharePointProjectItemTypeDefinition projectItemTypeDefinition) { projectItemTypeDefinition.Name = "CustomAction"; projectItemTypeDefinition.SupportedDeploymentScopes = SupportedDeploymentScopes.Site | SupportedDeploymentScopes.Web; projectItemTypeDefinition.SupportedTrustLevels = SupportedTrustLevels.All; projectItemTypeDefinition.ProjectItemNameChanged += ProjectItemNameChanged; projectItemTypeDefinition.ProjectItemMenuItemsRequested += ProjectItemMenuItemsRequested; } private const string designerMenuItemText = "View Custom Action Designer"; private void ProjectItemMenuItemsRequested(object sender, SharePointProjectItemMenuItemsRequestedEventArgs e) { e.ViewMenuItems.Add(designerMenuItemText).Click += MenuItemClick; } private void MenuItemClick(object sender, MenuItemEventArgs e) { ISharePointProjectItem projectItem = (ISharePointProjectItem)e.Owner; string message = String.Format("You clicked the menu on the {0} item. " + "You could perform some related task here, such as displaying a designer " + "for the custom action.", projectItem.Name); System.Windows.Forms.MessageBox.Show(message, "Contoso Custom Action"); } private void ProjectItemNameChanged(object sender, NameChangedEventArgs e) { ISharePointProjectItem projectItem = (ISharePointProjectItem)sender; string message = String.Format("The name of the {0} item changed to: {1}", e.OldName, projectItem.Name); projectItem.Project.ProjectService.Logger.WriteLine(message, LogCategory.Message); } } }
Crear un icono para el elemento de proyecto en el Explorador de soluciones
Cuando crea un elemento de proyecto de SharePoint personalizado, puede asociarle una imagen (un icono o mapa de bits). Esta imagen aparece al lado del elemento de proyecto en el Explorador de soluciones.
En el procedimiento siguiente se crea un icono para el elemento de proyecto y se incrusta en el ensamblado de la extensión. El SharePointProjectItemIconAttribute de la clase CustomActionProjectItemTypeProvider que creó anteriormente hace referencia a este icono.
Para crear un icono personalizado para el elemento de proyecto
En el Explorador de soluciones, haga clic con el botón secundario del mouse en el proyecto DefiniciónElementoProyecto.
En el menú contextual, apunte a Agregar y haga clic en Nuevo elemento.
En la lista de elementos de proyecto, haga clic en Archivo de icono.
Nota
En proyectos Visual Basic, debe hacer clic en el nodo General para ver el elemento Archivo de icono.
Escriba AcciónPersonalizada_ExploradorSoluciones.ico para el nuevo icono y haga clic en Agregar.
El nuevo icono se abre en el Editor de imágenes.
Modifique la versión 16x16 del archivo de icono para que tenga un diseño que pueda reconocer y guarde el archivo.
En el Explorador de soluciones, haga clic en AcciónPersonalizada_ExploradorSoluciones.ico.
En la ventana Propiedades, seleccione la lista desplegable situada junto a Acción de compilación y, a continuación, haga clic en Recurso incrustado.
Punto de control
En este punto del tutorial, todo el código del elemento de proyecto está en el proyecto. Compile el proyecto para asegurarse de que se compila sin errores.
Para generar el proyecto
- En el menú Generar, seleccione Generar solución.
Crear una plantilla de elementos de Visual Studio
Para permitir que otros desarrolladores usen el elemento de proyecto, debe crear una plantilla de proyecto o una plantilla de elemento de proyecto. Los desarrolladores utilizan estas plantillas en Visual Studio para crear una instancia de su elemento de proyecto creando un nuevo proyecto o agregando un elemento a un proyecto existente. En este tutorial, use el proyecto ItemTemplate para configurar el elemento de proyecto.
Para crear la plantilla de elementos
Elimine el archivo de código Class1 del proyecto ItemTemplate.
En el proyecto ItemTemplate, abra el archivo ItemTemplate.vstemplate.
Reemplace el contenido del archivo por el siguiente código XML y, a continuación, guarde y cierre el archivo.
Nota
El siguiente código XML está diseñado para una plantilla de elemento de Visual C#. Si está creando una plantilla de elemento de Visual Basic, reemplace el valor del elemento ProjectType por VisualBasic.
<VSTemplate Version="2.0.0" xmlns="https://schemas.microsoft.com/developer/vstemplate/2005" Type="Item"> <TemplateData> <DefaultName>CustomAction</DefaultName> <Name>Custom Action</Name> <Description>SharePoint Custom Action by Contoso</Description> <ProjectType>CSharp</ProjectType> <SortOrder>1000</SortOrder> <Icon>ItemTemplate.ico</Icon> <ProvideDefaultName>true</ProvideDefaultName> </TemplateData> <TemplateContent> <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\Elements.xml">Elements.xml</ProjectItem> <ProjectItem ReplaceParameters="true" TargetFileName="$fileinputname$\SharePointProjectItem.spdata">CustomAction.spdata</ProjectItem> </TemplateContent> </VSTemplate>Este archivo define el contenido y comportamiento de la plantilla de elementos. Para obtener más información sobre el contenido de este archivo, vea Referencia de esquema de plantillas de Visual Studio.
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto ItemTemplate, haga clic en Agregar y, a continuación, haga clic en Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, seleccione Archivo de texto, escriba CustomAction.spdata en el campo Nombre y, a continuación, haga clic en Agregar.
Agregue el siguiente código XML al archivo CustomAction.spdata y, a continuación, guarde y cierre el archivo.
<?xml version="1.0" encoding="utf-8"?> <ProjectItem Type="Contoso.CustomAction" DefaultFile="Elements.xml" xmlns="https://schemas.microsoft.com/VisualStudio/2010/SharePointTools/SharePointProjectItemModel"> <Files> <ProjectItemFile Source="Elements.xml" Target="$fileinputname$\" Type="ElementManifest" /> </Files> </ProjectItem>Este archivo contiene información sobre los archivos que están contenidos en el elemento de proyecto. El atributo Type del elemento ProjectItem debe estar establecido en la misma cadena que se pasa a SharePointProjectItemTypeAttribute en la definición del elemento de proyecto (la clase CustomActionProjectItemTypeProvider que creó anteriormente en este tutorial). Para obtener más información sobre el contenido de los archivos .spdata, vea Referencia de esquema de los elementos de proyecto de SharePoint.
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto ItemTemplate, haga clic en Agregar y, a continuación, haga clic en Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, seleccione Archivo XML, escriba Elements.xml en el campo Nombre y, a continuación, haga clic en Agregar.
Reemplace el contenido del archivo Elements.xml por el siguiente código XML y, a continuación, guarde y cierre el archivo.
<?xml version="1.0" encoding="utf-8" ?> <Elements Id="$guid8$" xmlns="https://schemas.microsoft.com/sharepoint/"> <CustomAction Id="Replace this with a GUID or some other unique string" GroupId="SiteActions" Location="Microsoft.SharePoint.StandardMenu" Sequence="1000" Title="Replace this with your title" Description="Replace this with your description" > <UrlAction Url="~site/Lists/Tasks/AllItems.aspx"/> </CustomAction> </Elements>Este archivo define una acción personalizada predeterminada que crea un elemento en el menú Acciones del sitio del sitio de SharePoint. Cuando un usuario hace clic en el elemento de menú, la dirección URL especificada en el elemento UrlAction se abre en el explorador web. Para obtener más información sobre los elementos XML que puede utilizar para definir una acción personalizada, vea Definiciones de acciones personalizadas.
Si lo desea. también puede abrir el archivo ItemTemplate.ico y modificarlo para que tenga un diseño que pueda reconocer. Este icono se mostrará al lado del elemento de proyecto en el cuadro de diálogo Agregar nuevo elemento.
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto ItemTemplate y, a continuación, haga clic en Descargar proyecto.
Haga clic con el botón secundario de nuevo en el proyecto ItemTemplate y haga clic en Editar ItemTemplate.csproj o Editar ItemTemplate.vbproj.
Busque el elemento VSTemplate siguiente en el archivo del proyecto.
<VSTemplate Include="ItemTemplate.vstemplate">Reemplace este elemento VSTemplate por el código XML siguiente.
<VSTemplate Include="ItemTemplate.vstemplate"> <OutputSubPath>SharePoint\SharePoint14</OutputSubPath> </VSTemplate>El elemento OutputSubPath especifica las carpetas adicionales en la ruta de acceso en la que se crea la plantilla de elemento al compilar el proyecto. Las carpetas especificadas aquí garantizan que la plantilla de elemento solo estará disponible cuando los clientes hagan clic en el nodo 2010 bajo el nodo SharePoint en el cuadro de diálogo Agregar nuevo elemento.
Guarde y cierre el archivo.
En el Explorador de soluciones, haga clic con el botón secundario en el proyecto ItemTemplate y, a continuación, haga clic en Volver a cargar el proyecto.
Crear un paquete VSIX para implementar el elemento de proyecto
Para implementar la extensión, utilice el proyecto VSIX en la solución para crear un paquete VSIX. Primero, configure el paquete VSIX modificando el archivo source.extension.vsixmanifest incluido en el proyecto VSIX. A continuación, cree el paquete VSIX compilando la solución.
Para crear y configurar el paquete VSIX
En el Explorador de soluciones, haga doble clic en el archivo source.extension.vsixmanifest en el proyecto ElementoProyectoAcciónPersonalizada.
Visual Studio abre el archivo en el editor de manifiestos. El archivo source.extension.vsixmanifest es la base del archivo extension.vsixmanifest que es requerido por todos los paquetes VSIX. Para obtener más información sobre este archivo, vea VSIX Extension Schema Reference.
En el cuadro Nombre de producto, escriba Elemento proyecto acción personalizada.
En el cuadro Autor, escriba Contoso.
En el cuadro Descripción, escriba Elemento de acción de SharePoint que representa una acción personalizada.
En la sección Contenido del editor, haga clic en el botón Agregar contenido.
En el cuadro de diálogo Agregar contenido, en el cuadro de lista Seleccione un tipo de contenido, elija Plantilla de elemento.
Nota
Este valor corresponde al elemento ItemTemplate del archivo extension.vsixmanifest. Este elemento identifica la subcarpeta del paquete VSIX que contiene la plantilla de elemento de proyecto. Para obtener más información, vea ItemTemplate Element (VSX Schema).
En Seleccione un origen, haga clic en el botón de radio Proyecto y seleccione ItemTemplate en el cuadro de lista adyacente.
Haga clic en Aceptar.
En el editor de manifiestos, haga clic de nuevo en el botón Agregar contenido.
En el cuadro de diálogo Agregar contenido, en el cuadro de lista Seleccione un tipo de contenido, elija MEF Component.
Nota
Este valor corresponde al elemento MefComponent del archivo extension.vsixmanifest. Este elemento especifica el nombre de un ensamblado de extensión en el paquete VSIX. Para obtener más información, vea MEFComponent Element (VSX Schema).
En Seleccione un origen, haga clic en el botón de radio Proyecto y seleccione ProjectItemDefinition en el cuadro de lista adyacente.
Haga clic en Aceptar.
En el menú Generar, haga clic en Generar solución. Asegúrese de que el proyecto se compila sin errores.
Abra la carpeta de salida de compilación del proyecto ElementoProyectoAcciónPersonalizada. Asegúrese de que la carpeta contiene el archivo ElementoProyectoAcciónPersonalizada.vsix.
De forma predeterminada, la carpeta de resultado de compilación es .. \bin\Debug, que se encuentra bajo la carpeta que contiene el proyecto CustomActionProjectItem.
Probar el elemento de proyecto
Ya puede probar el elemento de proyecto. Primero, empiece a depurar la solución CustomActionProjectItem en la instancia experimental de Visual Studio. A continuación, pruebe el elemento de proyecto Acción personalizada de un proyecto de SharePoint en la instancia experimental de Visual Studio. Por último, compile y ejecute el proyecto SharePoint para comprobar que la acción personalizada funciona del modo esperado.
Para empezar a depurar la solución
Reinicie Visual Studio con privilegios de administrador y abra la solución ElementoProyectoAcciónPersonalizada.
Abra el archivo de código CustomAction y agregue un punto de interrupción a la primera línea de código en el método InitializeType.
Presione F5 para iniciar la depuración.
Visual Studio instala la extensión en %UserProfile%\AppData\Local\Microsoft\VisualStudio\10.0Exp\Extensions\Contoso\Elemento proyecto acción personalizada\1 .0 e inicia una instancia experimental de Visual Studio. Probará el elemento de proyecto en esta instancia de Visual Studio.
Para probar el elemento de proyecto en Visual Studio
En la instancia experimental de Visual Studio, en el menú Archivo, seleccione Nuevo y haga clic en Proyecto.
Expanda Visual C# o Visual Basic (en función del lenguaje que admita la plantilla de elemento), expanda SharePoint y, a continuación, haga clic en 2010.
En la lista de plantillas de proyecto, haga clic en Proyecto vacío.
En el cuadro Nombre, escriba PruebaAcciónPersonalizada.
Haga clic en Aceptar.
En el Asistente para la personalización de SharePoint, escriba la dirección URL del sitio que desea utilizar en la depuración y haga clic en Finalizar.
En el Explorador de soluciones, haga clic en el nodo del proyecto con el botón secundario, seleccione Agregar y haga clic en Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento, haga clic en el nodo 2010 bajo el nodo SharePoint.
Compruebe que el elemento Acción personalizada aparece en la lista de elementos de proyecto.
Haga clic en Acción personalizada y, a continuación, en Agregar.
Visual Studio agrega un nuevo elemento denominado CustomAction1 a su proyecto y abre el archivo Elements.xml en el editor.
Compruebe que el código de la otra instancia de Visual Studio se detiene en el punto de interrupción que estableció anteriormente en el método InitializeType. Presione F5 para continuar y depurar el proyecto.
En la instancia experimental de Visual Studio, en el Explorador de soluciones, haga clic con el botón secundario en el nodo CustomAction1 y haga clic en Ver diseñador de acción personalizada. Compruebe que aparece un cuadro de mensaje y, a continuación, haga clic en Aceptar.
Puede utilizar este menú contextual para proporcionar opciones o comandos adicionales a los desarrolladores, como mostrar un diseñador para la acción personalizada.
En el menú Ver, haga clic en Resultados.
Se abre la ventana Resultados.
En Explorador de soluciones, haga clic con el botón secundario en el elemento CustomAction1 y cambie el nombre a MyCustomAction.
Debería ver un mensaje de confirmación en la Ventana de salida. Este mensaje lo escribe el controlador de eventos ProjectItemNameChanged que definió en la clase CustomActionProjectItemTypeProvider. Puede controlar este y otros eventos de elementos de proyecto para implementar el comportamiento personalizado cuando el desarrollador modifica el elemento de proyecto.
Para probar la acción personalizada en SharePoint
En la instancia experimental de Visual Studio, abra el archivo Elements.xml que es elemento secundario del elemento de proyecto MyCustomAction.
El archivo Elements.xml, haga los cambios siguientes:
En el elemento CustomAction, establezca el atributo Id en un GUID o alguna otra cadena única. Por ejemplo:
Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"En el elemento CustomAction, establezca el atributo Title como se indica a continuación:
Title="SharePoint Developer Center"En el elemento CustomAction, establezca el atributo Description como se indica a continuación:
Description="Opens the SharePoint Developer Center Web site."En el elemento UrlAction, establezca el atributo Url como se indica a continuación:
Url="https://msdn.microsoft.com/sharepoint/default.aspx"
Guarde el archivo Elements.xml.
Presione F5. La acción personalizada se empaqueta e implementa en el sitio de SharePoint especificado por la propiedad Site URL del proyecto. El explorador web se abre a la página predeterminado de este sitio.
Nota
Si se muestra el cuadro de diálogo Depuración de scripts deshabilitada, haga clic en Sí para continuar depurando el proyecto.
Haga clic en el menú Acciones del sitio. Compruebe que la acción personalizada denominada SharePoint Developer Center aparece en la parte inferior de este menú.
Haga clic en el elemento de menú SharePoint Developer Center. Compruebe que el explorador abre el sitio web https://msdn.microsoft.com/sharepoint/default.aspx.
Cierre el explorador web.
Limpiar el equipo de desarrollo
Después de probar el elemento de proyecto, quite la plantilla de elemento de proyecto de la instancia experimental de Visual Studio.
para limpiar el equipo de desarrollo
En la instancia experimental de Visual Studio, en el menú Herramientas, haga clic en Administrador de extensiones.
Se abre el cuadro de diálogo Administrador de extensiones.
En la lista de extensiones, haga clic en Elemento Proyecto Acción Personalizada y, a continuación, haga clic Desinstalar.
En el cuadro de diálogo que aparece, haga clic en Sí para confirmar que desea desinstalar la extensión.
Haga clic en Reiniciar ahora para completar la desinstalación.
Cierre ambas instancias de Visual Studio (la instancia experimental y la instancia de Visual Studio que tiene abierta la solución ElementoProyectoAcciónPersonalizada).
Pasos siguientes
Después de completar este tutorial, puede agregar un asistente a la plantilla de elemento. Cuando un usuario agrega un elemento de proyecto Acción personalizada a un proyecto de SharePoint, el asistente recopila información sobre la acción personalizada (como su ubicación y la dirección URL a la que se va a navegar al hacer clic) y agrega esta información al archivo Elements.xml del nuevo elemento de proyecto. Para obtener más información, vea Tutorial: Crear un elemento de proyecto de acción personalizado con una plantilla de elementos, parte 2.
Vea también
Tareas
Crear un nuevo mapa de bits u otra imagen
Referencia
Referencia de esquema de plantillas de Visual Studio
Conceptos
Utilizar el servicio de proyecto de SharePoint
Otros recursos
Definir tipos de elementos de proyecto personalizados de SharePoint
Crear plantillas de elemento y plantillas de proyecto para los elementos de proyecto de SharePoint