Tutorial: Crear un elemento de proyecto de acción personalizado con una plantilla de elementos, parte 1
Puede extender el sistema de proyectos de SharePoint en Visual Studio 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 en 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 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 la barra de menú, elija Archivo, Nuevo, Proyecto.
En la lista de la parte superior del cuadro de diálogo Nuevo proyecto , asegúrese de que .NET Framework 4,5 está seleccionado.
En el cuadro de diálogo Nuevo proyecto , expanda los nodos Visual c# o Visual Basic y, a continuación el nodo Extensibilidad .
[!NOTA]
El nodo Extensibilidad solo está disponible si instala Visual Studio SDK.Para obtener más información, vea la sección Requisitos previos, anteriormente en este tema.
Elija la plantilla Proyecto VSIX .
En el cuadro Nombre , entre en CustomActionProjectItem, y elija el botón Aceptar .
Visual Studio agrega el proyecto ElementoProyectoAcciónPersonalizada al Explorador de soluciones.
Para crear el proyecto de plantilla de elemento
En Explorador de soluciones, abra el menú contextual para el nodo de la solución, elija Agregary, a continuación 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, Projects and Solutions, Options Dialog Box.
En la lista de la parte superior del cuadro de diálogo Nuevo proyecto , asegúrese de que .NET Framework 4,5 está seleccionado.
En el cuadro de diálogo Nuevo proyecto , expanda los nodos Visual c# o Visual Basic y, a continuación el nodo Extensibilidad .
En la lista de plantillas de proyecto, elija la plantilla Plantilla de elemento de C o Plantilla de elemento de Visual Basic .
En el cuadro Nombre , entre en ItemTemplate, y elija el botón Aceptar .
Visual Studio agrega el proyecto ItemTemplate a la solución.
Para crear la extensión de proyecto
En Explorador de soluciones, abra el menú contextual para el nodo de la solución, elija Agregary, a continuación Nuevo proyecto.
En la lista de la parte superior del cuadro de diálogo Nuevo proyecto , asegúrese de que .NET Framework 4,5 está seleccionado.
En el cuadro de diálogo Nuevo proyecto , expanda los nodos Visual c# o Visual Basic , elija el nodo Windows , y después elija la plantilla de proyecto Biblioteca de clases .
En el cuadro Nombre , escriba ProjectItemDefinition, y elija el botón 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 Explorador de soluciones, abra el menú contextual para el proyecto ProjectItemDefinition , elija Agregar, y elija Nuevo elemento.
En la lista de elementos de proyecto, elija Archivo de código.
En el cuadro Nombre , escriba el nombre CustomAction con la extensión de archivo apropiada, y elija el botón Agregar .
En Explorador de soluciones, abra el menú contextual para el proyecto ProjectItemDefinition y, a continuación Agregar referencia.
En el cuadro de diálogo Administrador de referencia – ProjectItemDefinition , elija el nodo Ensamblados , y elija el nodo Framework .
Active la casilla situada junto a cada uno de los siguientes ensamblados:
System.ComponentModel.Composition
System.Windows.Forms
Elija el nodo Extensiones , active la casilla situada junto al ensamblado Microsoft.VisualStudio.Sharepoint, y después elija el botón Aceptar .
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 Namespace
using 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 Explorador de soluciones, abra el menú contextual para el proyecto ProjectItemDefinition , elija Agregary, a continuación Nuevo elemento….
En la lista de elementos de proyecto, elija el elemento Archivo de icono .
[!NOTA]
En los proyectos de Visual Basic, debe elegir el nodo General para mostrar el elemento Archivo de icono .
En el cuadro Nombre , entre en CustomAction_SolutionExplorer.ico, y elija el botón 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 Explorador de soluciones, elija CustomAction_SolutionExplorer.ico.
En la ventana Propiedades , elija la flecha situada junto a la propiedad Acción de compilación .
En la lista que aparece, elija 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 comprobar que se compila sin errores.
Para compilar el proyecto
- Abrir el menú contextual para el proyecto ProjectItemDefinition y elija Generar.
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.
<?xml version="1.0" encoding="utf-8"?> <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 Explorador de soluciones, abra el menú contextual para el proyecto ItemTemplate , elija Agregary, a continuación Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento , elija la plantilla Archivo de texto .
En el cuadro Nombre , entre en CustomAction.spdata, y elija el botón 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 Explorador de soluciones, abra el menú contextual para el proyecto ItemTemplate , elija Agregary, a continuación Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento , elija la plantilla Archivo XML .
En el cuadro Nombre , entre en Elements.xml, y elija el botón 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 el usuario elige 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 Explorador de soluciones, abra el menú contextual para el proyecto ItemTemplate y, a continuación Descargar el proyecto.
Abrir el menú contextual para el proyecto ItemTemplate de nuevo y, a continuación Edición ItemTemplate.csproj o Edición ItemTemplate.vbproj.
Busque el elemento VSTemplate siguiente en el archivo del proyecto.
<VSTemplate Include="ItemTemplate.vstemplate">
Reemplace este elemento VSTemplate con XML siguiente, y después guarde y cierre el archivo.
<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 abren los clientes el cuadro de diálogo Agregar nuevo elemento , expanda el nodo SharePoint , y después elija el nodo 2010 .
En Explorador de soluciones, abra el menú contextual para el proyecto ItemTemplate y, a continuación 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 Explorador de soluciones, abra el menú contextual para el archivo source.extension.vsixmanifest en el proyecto elementoproyectoacciónpersonalizada y, a continuación Abrir.
Visual Studio abre el archivo en el editor de manifiestos.El archivo source.extension.vsixmanifest es la base del archivo extension.vsixmanifest que todos los paquetes VSIX requieren.Para obtener más información sobre este archivo, vea Referencia de esquema de extensión VSIX.
En el cuadro Nombre de producto , entre en Elemento de proyecto acción personalizada.
En el cuadro Autor , entre en Contoso.
En el cuadro Descripción , entre en Un elemento de proyecto de SharePoint que representa una acción personalizada.
En la pestaña Activos , elija el botón Nuevo .
El cuadro de diálogo Agregar nuevo activo aparece.
En la lista Tipo , elija Microsoft.VisualStudio.ItemTemplate.
[!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.
En la lista Origen , elija Un proyecto de la solución actual.
En la lista Proyecto , elija ItemTemplate, y elija el botón Aceptar .
En la pestaña Activos , elija el botón Nuevo de nuevo.
El cuadro de diálogo Agregar nuevo activo aparece.
En la lista Tipo , elija Microsoft.VisualStudio.MefComponent.
[!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.
En la lista Origen , elija Un proyecto de la solución actual.
En la lista Proyecto , elija ProjectItemDefinition.
Elija el botón Aceptar .
En la barra de menú, elija Generar, Compilar solución, y asegúrese de que el proyecto se compila sin errores.
Asegúrese de que la carpeta de salida de la compilación del proyecto elementoproyectoacciónpersonalizada 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 credenciales administrativas, y vuelva a abrir la solución elementoproyectoacciónpersonalizada.
Abra el archivo de código CustomAction, y después agregue un punto de interrupción a la primera línea de código en el método InitializeType .
Elija la clave 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 la barra de menú, elija Archivo, Nuevo, Proyecto.
Expanda Visual c# o Visual Basic (dependiendo del lenguaje que la plantilla de elementos admite), expanda SharePointy, a continuación el nodo 2010 .
En la lista de plantillas de proyecto, elija Proyecto de SharePoint 2010.
En el cuadro Nombre , entre en CustomActionTest, y elija el botón Aceptar .
En Asistente para la personalización de SharePoint, escriba la dirección URL del sitio que desea utilizar para depurar, y elija el botón Finalizar .
En Explorador de soluciones, abra el menú contextual para el nodo del proyecto, elija Agregary, a continuación Nuevo elemento.
En el cuadro de diálogo Agregar nuevo elemento , elija el nodo 2010 bajo el nodo SharePoint .
Compruebe que el elemento Acción personalizada aparece en la lista de elementos de proyecto.
Elija el elemento acción personalizada , y elija el botón Agregar .
Visual Studio agrega un elemento denominado CustomAction1 al 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.
Elija la clave F5 para continuar depurando el proyecto.
En la instancia experimental de Visual Studio, en Explorador de soluciones, abra el menú contextual para el nodo CustomAction1 y, a continuación Diseñador de la acción personalizada de vista.
Compruebe que aparece un cuadro de mensaje, y elija el botón 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 la barra de menú, elija Ver, Resultados.
Se abre la ventana Resultados.
En Explorador de soluciones, abra el menú contextual para el elemento CustomAction1 , y después cambia el nombre a MyCustomAction.
En la ventana Resultados , un mensaje de confirmación aparece.Este mensaje es escrito por el controlador de eventos ProjectItemNameChanged definido 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 un elemento secundario del elemento de proyecto MyCustomAction .
En el archivo Elements.xml, realice los cambios siguientes, y guarde el archivo:
En el elemento CustomAction , establezca el atributo Id a GUID o alguna otra cadena única como se muestra en el ejemplo siguiente:
Id="cd85f6a7-af2e-44ab-885a-0c795b52121a"
En el elemento CustomAction , establezca el atributo Title como se muestra en el ejemplo siguiente:
Title="SharePoint Developer Center"
En el elemento CustomAction , establezca el atributo Description como se muestra en el ejemplo siguiente:
Description="Opens the SharePoint Developer Center Web site."
En el elemento UrlAction , establezca el atributo Url como se muestra en el ejemplo siguiente:
Url="https://msdn.microsoft.com/sharepoint/default.aspx"
Elija la tecla F5.
La acción personalizada se empaqueta e implementa en el sitio de SharePoint que se especifica en la propiedad URL del sitio del proyecto.El explorador web se abre en la página predeterminada de este sitio.
[!NOTA]
Si aparece el cuadro de diálogo Depuración de scripts deshabilitada , elija el botón Sí para continuar depurando el proyecto.
En el menú Acciones del sitio , elija Centro para desarrolladores de SharePoint, comprueba que el explorador el sitio Web https://msdn.microsoft.com/sharepoint/default.aspx, y luego 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 la barra de menú, elija Herramientas, Extensiones y actualizaciones.
El cuadro de diálogo Extensiones y actualizaciones abra.
En la lista de extensiones, elija Elemento de proyecto acción personalizada, y elija el botón Desinstalar .
En el cuadro de diálogo que aparece, elija el botón Sí para confirmar que desea desinstalar la extensión.
Elija el botón Reiniciar ahora para completar la desinstalación.
Cierre la instancia experimental de Visual Studio y la instancia en la que la solución CustomActionProjectItem está abierto.
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 (como su ubicación y la dirección URL para navegar a cuando se elige la acción) y agrega esta información al archivo Elements.xml del nuevo 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.
Vea también
Tareas
Crear un icono u otra imagen (Editor de imágenes para iconos)
Referencia
Referencia de esquema de plantillas de Visual Studio
Editor de imágenes para iconos
Conceptos
Definir tipos de elementos de proyecto personalizados de SharePoint
Crear plantillas de elemento y plantillas de proyecto para los elementos de proyecto de SharePoint