Tutorial: Crear una definición de sitio con contenido adicional

En este tutorial se muestra cómo crear una definición de sitio con características más completas que incorpora varios elementos que se pueden agregar a una definición de sitio. Se trata de una definición de sitio de localizador de empleados que permite buscar a un empleado en un mapa de Bing por el nombre del empleado y la región del país donde trabaja.

En este tutorial se muestran las siguientes tareas:

  • Crear una definición de sitio utilizando la plantilla de proyecto de Visual Studio.

  • Agregar e incorporar una página maestra personalizada a la solución.

  • Agregar un elemento web visual a la solución.

  • Agregar campos personalizados a la solución.

  • Agregar un tipo de contenido que incluye campos personalizados.

  • Agregar una definición de lista basada en el tipo de contenido.

  • Agregar una instancia de lista y datos predeterminados para la lista que se implementa con la definición de sitio.

  • Personalizar la página default.aspx del sitio agregándole un elemento web visual.

  • Personalizar un control de usuario en el elemento web visual.

  • Agregar a la solución una imagen del logotipo personalizada que aparece en el elemento web visual.

Nota

Es posible que su equipo muestre nombres o ubicaciones diferentes para algunos de los elementos de la interfaz de usuario de Visual Studio incluidos en las instrucciones siguientes. La edición de Visual Studio que se tenga y la configuración que se utilice determinan estos elementos. Para obtener más información, vea Valores de configuración de Visual Studio.

Requisitos previos

Necesita los componentes siguientes para completar este tutorial:

Crear una solución de definición de sitio

Primero, cree el proyecto de definición de sitio en Visual Studio.

Para crear un proyecto de definición de sitio

  1. Para mostrar el cuadro de diálogo Nuevo proyecto, elija Nuevo en el menú Archivo y haga clic en Proyecto.

  2. Expanda el nodo SharePoint bajo Visual C# o bajo Visual Basic y, a continuación, haga clic en 2010.

  3. En el recuadro de plantillas, seleccione Definición de sitio.

  4. En el cuadro Nombre, escriba Testsitedef2 y, a continuación, haga clic en Aceptar.

    Aparece el Asistente para la personalización de SharePoint.

  5. En la página Especifique el sitio y el nivel de seguridad de la depuración, escriba la dirección URL para el sitio de servidor de SharePoint donde desea depurar la definición de sitio, o utilice la ubicación predeterminado (http://nombre sistema/).

  6. En la sección ¿Cuál es el nivel de confianza de esta solución de SharePoint?, use el valor predeterminado de Implementar como solución de granja de servidores.

    Todos los proyectos de definición de sitio se deben implementar como soluciones de granja. Para obtener más información sobre soluciones de granja y soluciones en espacio aislado, vea Consideraciones sobre las soluciones en espacio aislado.

  7. Haga clic en Finalizar. El proyecto aparecerá en el Explorador de soluciones.

Agregar una imagen del logotipo

A Luego, agregue una imagen a la solución para el uso como un logotipo corporativo en la definición de sitio.

Para agregar una imagen

  1. Haga clic con el botón secundario en el Explorador de soluciones, elija Agregar y haga clic en Carpeta asignada "Images" de SharePoint.

    Dado que la carpeta Images se asigna directamente al sistema de archivos de SharePoint, los archivos agregados a ella se implementan en la carpeta SharePoint /images y quedan disponibles para su uso en SharePoint.

  2. En Imágenes, haga clic con el botón secundario en la carpeta TestSiteDef2, elija Agregar y, a continuación, haga clic en Elemento existente. Seleccione un archivo de imagen para usarlo como logotipo y, a continuación, haga clic en Agregar.

    Opcionalmente, puede hacer clic Nuevo elemento en el menú contextual y crear una nueva imagen, aunque se limita la elección de tipos de imagen. Suele ser mejor crear las imágenes con otra herramienta.

  3. Repita el paso 2 si desea agregar otras imágenes a la solución. Por ejemplo, puede agregar otra imagen para que actúe como marcador de posición para el control de imagen que se agrega más adelante en este tema.

Agregar una página maestra personalizada

Si desea que la definición de sitio use una página maestra personalizada, puede agregar una a la solución.

Para agregar una página maestra personalizada

  1. Cree una página maestra. Para obtener más información, vea Páginas maestras ASP.NET.

  2. Exporte y, a continuación, importe la página maestra personalizada a Visual Studio, tal y como se describe en Tutorial: Importar una página maestra personalizada y una página de sitio con una imagen.

  3. Agregue una página maestra a un módulo. Para ello, haga clic con el botón secundario en el nodo de proyecto en el Explorador de soluciones, elija Agregar y haga clic en Nuevo elemento.

  4. En el cuadro de diálogo Agregar nuevo elemento, en la lista de plantillas de SharePoint, seleccione Módulo. Asigne un nombre al módulo.

  5. En el módulo, elimine el archivo Sample.txt predeterminado.

  6. Agregue una carpeta al módulo denominado _catalogs y, a continuación, otra al denominado masterpage.

    Esto coincide con la ubicación del archivo de otras páginas maestras en SharePoint.

  7. Agregue la página maestra bajo la carpeta masterpage. Para ello, seleccione el nodo del módulo y, a continuación, en el menú Proyecto, haga clic en Agregar elemento existente. Busque la página maestra y selecciónela. Los archivos de página maestra tienen una extensión de nombre de archivo .master.

  8. Cambie la opción de configuración Resolución de conflictos de implementación de la página maestra a Automática.

  9. Haga doble clic en Elements.xml en el módulo para abrirlo en el diseñador XML.

    Debe actualizar el archivo Elements.xml para hacer referencia a la página maestra.

  10. Reemplace el marcado del módulo existente con el marcado siguiente.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
        <Module Name="[Module Name]" 
                Url="_catalogs/masterpage">
            <File Path="[Module Name]\_catalogs\masterpage\[Master Page 
              Name].master" 
                  Url="[Master Page Name].master" 
                  Type="GhostableInLibrary" />
        </Module>
    </Elements>
    

    Asegúrese de reemplazar los valores de marcador de posición con los nombres reales del módulo y de la página maestra.

  11. Cambie el nombre de la página maestra en el archivo default.aspx. Por ejemplo, si la página maestra se denomina "newmaster.master", usaría el siguiente.

    <%@ Page language="C#" MasterPageFile="~/_catalogs/masterpage/newmaster.master" Inherits="Microsoft.SharePoint.WebPartPages.WebPartPage,Microsoft.SharePoint,Version=14.0.0.0,Culture=neutral,PublicKeyToken=71e9bce111e9429c"  %>
    
  12. Guarde el proyecto.

Definir los campos personalizados

Defina los campos personalizados que se usan más adelante para crear una lista personalizada. Estos campos proporcionan datos adicionales que necesita el código en la definición de sitio.

Para definir los campos personalizados

  1. Haga clic con el botón secundario en el nodo de definición de sitio en el Explorador de soluciones, elija Agregar y, a continuación, haga clic en Nuevo elemento.

  2. Seleccione Elemento vacío en la lista de plantillas y asigne al elemento el nombre SiteColumns.

  3. En el archivo Elements.xml, reemplace el marcado por el siguiente.

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">  
      <Field ID="{587DE9D5-618C-42C4-A754-06EA36CF7496}" 
             Type="Text" 
             Name="Latitude" 
             DisplayName="Latitude" 
             Group="Coordinates"/>
      <Field ID="{5D1CFF2C-8032-4792-AB34-8E0A0520B478}" 
             Type="Text" 
             Name="Longitude" 
             DisplayName="Longitude" 
             Group="Coordinates"/>
      <Field ID="{8B7E3CC0-40B5-465E-81FE-D63B7471B7CE}" 
             Type="Text" 
             Name="Region" 
             DisplayName="Region" 
             Group="Coordinates"/>
      <Field ID="{8A152314-DB62-4EC7-96E7-E28F8A253B1D}" 
             Type="Text" 
             Name="StaffNumber" 
             DisplayName="StaffNumber" 
             Group="Coordinates"/>
    </Elements>
    

    Este marcado agrega cuatro campos personalizados a SharePoint: latitud, longitud, región y número de empleado. Estos campos se usan para identificar a los empleados y sus ubicaciones. Puede agregar más campos si lo desea. Use la herramienta Crear GUID del menú Herramientas para generar un GUID único para cada campo adicional.

    Nota

    Si vuelva a ejecutar esta solución, marque como comentario las definiciones de campo para evitar errores.

  4. Guarde el proyecto.

Agregar un tipo de contenido

Cree un tipo de contenido que haga referencia a los nuevos campos.

Para agregar un tipo de contenido

  1. Haga clic con el botón secundario en el nodo de definición de sitio en el Explorador de soluciones, elija Agregar y, a continuación, haga clic en Nuevo elemento.

  2. Seleccione Tipo de contenido en la lista de plantillas y asigne el nombre StaffListContentType al nuevo tipo de contenido.

  3. En la página Elegir configuración de tipo de contenido, seleccione Contacto en la lista para el tipo de contacto base.

  4. En el archivo Elements.xml para el tipo de contenido, reemplace el marcado con el siguiente:

    <?xml version="1.0" encoding="utf-8"?>
    <Elements xmlns="https://schemas.microsoft.com/sharepoint/">
      <!-- Parent ContentType: Contact (0x0106) -->
      <ContentType ID="0x010600a024d6b9cf214430a254b1272eaedc4f"
                   Name="TestSiteDef2 - StaffListContentType"
                   Group="Custom Content Types"
                   Description="My Content Type"
                   Inherits="TRUE"
                   Version="0">
        <FieldRefs>
          <FieldRef ID="{587DE9D5-618C-42C4-A754-06EA36CF7496}"
                    Name="Latitude"
                    DisplayName="Latitude"/>
          <FieldRef ID="{5D1CFF2C-8032-4792-AB34-8E0A0520B478}"
                    Name="Longitude"
                    DisplayName="Longitude"/>
          <FieldRef ID="{8B7E3CC0-40B5-465E-81FE-D63B7471B7CE}"
                    Name="Region"
                    DisplayName="Region"/>
          <FieldRef ID="{8A152314-DB62-4EC7-96E7-E28F8A253B1D}"
                    Name="StaffNumber"
                    DisplayName="StaffNumber"/>
        </FieldRefs>
      </ContentType>
    </Elements>
    
  5. Guarde el proyecto.

Agregar una definición de lista

Cree una definición de lista que haga referencia al nuevo tipo de contenido.

Para agregar una definición de lista

  1. Haga clic con el botón secundario en el nodo de definición de sitio en el Explorador de soluciones, elija Agregar y, a continuación, haga clic en Nuevo elemento.

  2. Seleccione Definición de lista de tipo de contenido en la lista de plantillas y asigne el nombre StaffListDefinition a la definición de lista.

  3. En la página Elegir configuración de definición de lista, use los valores predeterminados de nombre para mostrar y tipo de contenido base. Desactive el cuadro Agregar una instancia de lista para esta definición de lista y, a continuación, haga clic en Finalizar.

    Esto basa la definición de lista en el nuevo tipo de contenido. Más adelante creará una instancia de lista en el archivo onet.xml.

  4. Haga doble clic en Schema.xml para abrirlo. Observe que ya se hace referencia a los campos personalizados en la parte superior del archivo.

Agregar datos de lista predeterminados a onet.xml

Para proporcionar una instancia de la nueva definición de lista y alguna información de empleado predeterminada a la lista de empleados una vez implementada la definición de sitio, agregue los datos al archivo onet.xml de la definición de sitio.

Para agregar los datos de la lista a onet.xml

  1. Haga doble clic en el archivo onet.xml para abrirlo.

  2. Reemplace la etiqueta <Lists/> con el marcado siguiente:

    <Lists>
        <List Title="StaffList"
              FeatureId="fea29b33-8752-45d4-a5bd-6f7a54db7d49"
              Url="Lists/TestSiteDef2-StaffList"
              Description="" Type="10000">
              <Data>
                <Rows>
                  <Row>
                    <Field Name="FirstName">David</Field>
                    <Field Name="FullName">David Pelton</Field>
                    <Field Name="Region">Northwest</Field>
                    <Field Name="Longitude">-122.33</Field>
                    <Field Name="Latitude">47.60</Field>
                    <Field Name="StaffNumber">100200</Field>
                  </Row>
                  <Row>
                    <Field Name="FirstName">Joe</Field>
                    <Field Name="FullName">Joe Healy</Field>
                    <Field Name="Region">Southwest</Field>
                    <Field Name="Longitude">-115.13</Field>
                    <Field Name="Latitude">36.15</Field>
                    <Field Name="StaffNumber">100300</Field>
                  </Row>
                  <Row>
                    <Field Name="FirstName">Lisa</Field>
                    <Field Name="FullName">Lisa Andrews</Field>
                    <Field Name="Region">Northeast</Field>
                    <Field Name="Longitude">-73.98</Field>
                    <Field Name="Latitude">40.75</Field>
                    <Field Name="StaffNumber">100400</Field>
                  </Row>
                  <Row>
                    <Field Name="FirstName">Chris</Field>
                    <Field Name="FullName">Chris Ashton</Field>
                    <Field Name="Region">Southeast</Field>
                    <Field Name="Longitude">-84.38</Field>
                    <Field Name="Latitude">33.76</Field>
                    <Field Name="StaffNumber">100500</Field>
                  </Row>
                </Rows>
              </Data>
        </List>
    </Lists>
    
  3. Establezca el ámbito para la característica en el nivel de sitio. Para ello, haga doble clic en el archivo de característica en el Explorador de soluciones para abrirlo en el Diseñador de características. En el Diseñador de características, establezca Ámbito en Sitio.

  4. Guarde el proyecto.

Agregar una referencia al servicio Bing Maps

Llame al servicio Bing Maps Imagery para proporcionar un mapa que mostrará la ubicación del empleado seleccionado.

Para agregar el servicio Bing Maps Imagery a la solución

  1. Agregue una referencia de servicio al proyecto. Para ello, haga clic con el botón secundario en el nodo de proyecto en el Explorador de soluciones y haga clic en Agregar referencia de servicio.

  2. En el cuadro de diálogo Agregar referencia de servicio, escriba la siguiente dirección URL en el cuadro Dirección.

    http://dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc?wsdl
    
  3. Haga clic en Ir a, escriba ImageryService en el cuadro Espacio de nombres y, a continuación, haga clic en Aceptar.

  4. Elimine el archivo app.config de la definición de sitio.

    Este archivo, agregado por el servicio, proporciona los extremos y el enlace necesarios. Sin embargo, no funciona correctamente con las soluciones de SharePoint, de modo que su funcionalidad se agrega después a través del código.

  5. Los servicios Web de Bing Maps requieren que disponga de una clave de Bing Maps para realizar las solicitudes. Obtenga una clave iniciando sesión en su cuenta en Bing Maps Account Center.

Crear un elemento web visual con controles

A continuación, cree un elemento web visual con controles que aparecerá en la página principal de la definición de sitio.

Para crear un elemento web visual

  1. Haga clic con el botón secundario en el nodo de definición de sitio en el Explorador de soluciones, elija Agregar y, a continuación, haga clic en Nuevo elemento.

  2. Seleccione Elemento web visual en la lista de plantillas y use el valor predeterminado, VisualWebPart1, para el nombre del elemento web.

  3. En el marcado existente en VisualWebPart1UserControl.ascx, agregue lo siguiente.

    <style type="text/css">
        .style4
        {
            height: 205px;
            width: 187px;
        }
        .style5
        {
            height: 396px;
            width: 187px;
        }
        .style7
        {
            height: 205px;
            width: 291px;
        }
        .style8
        {
            height: 396px;
            width: 291px;
        }
        </style>
    
    <table style="width: 100%;">
        <tr>
            <td align="center" class="style4" valign="middle">
    <asp:Image ID="Image1" runat="server" Height="200px" 
        ImageUrl="~/_layouts/images/TestSiteDef2/logo.jpg" Width="350px" />
            </td>
            <td class="style7">
    <asp:Label ID="Label1" runat="server" Font-Size="XX-Large" 
        Font-Underline="True" Text="Tailspin Toys"></asp:Label>
                <br />
                <br />
    <asp:Label ID="Label7" runat="server" Font-Size="X-Large" 
        Font-Underline="False" Text="Employee Locator"></asp:Label>
            </td>
        </tr>
        <tr>
            <td class="style5" valign="top">
                <br />
    <asp:Label ID="Label2" runat="server" Font-Size="Large" Text="Region:"></asp:Label>
                <br />
                <asp:DropDownList ID="DropDownList1" runat="server" Height="24px" 
            Width="352px" onselectedindexchanged="DropDownList1_SelectedIndexChanged" 
                    AutoPostBack="True">
                <asp:ListItem>Northeast</asp:ListItem>
                <asp:ListItem>Northwest</asp:ListItem>
                <asp:ListItem>Southeast</asp:ListItem>
                <asp:ListItem>Southwest</asp:ListItem>
            </asp:DropDownList>
                <br />
                <br />
        <asp:Label ID="Label6" runat="server" Font-Size="Large" Text="Staff:"></asp:Label>
                <br />
        <asp:ListBox ID="ListBox1" runat="server" Width="352px" 
            onselectedindexchanged="ListBox1_SelectedIndexChanged" AutoPostBack="True"></asp:ListBox>
                <br />
                <br />
    &nbsp;&nbsp;
                </td>
            <td class="style8">
                <br />
    <asp:Label ID="Label5" runat="server" Font-Size="Large" Text="Map Location:"></asp:Label>
                <br />
    <asp:Image ID="Image2" runat="server" Height="388px" 
        ImageUrl="" Width="465px" />
            </td>
        </tr>    
    </table>
    
    <br />
    

    Esto agrega lo siguiente a la página: un título, una imagen del logotipo, un cuadro de lista desplegable que contiene las regiones, un cuadro de lista para los nombres de los empleados y un control de imagen que muestra un mapa.

  4. Abra el archivo VisualWebPart1UserControl.ascx.cs, que se encuentra en VisualWebPart1UserControl.ascx y reemplace el código por el siguiente:

    using System;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using Microsoft.SharePoint;
    using TestSiteDef2.ImageryService;
    using System.ServiceModel;
    using System.ServiceModel.Channels;
    using System.Text;
    
    namespace TestSiteDef2.SiteDefinition.VisualWebPart1
    {
        public partial class VisualWebPart1UserControl : UserControl
        {
            protected void Page_Load(object sender, EventArgs e)
            {
            }
    
            protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
            {
                string selectedRegion = DropDownList1.SelectedItem.Text;
    
                SPSite site = new SPSite(Context.Request.Url.AbsoluteUri);
                // Add the SharePoint server name below.
                string webName = 
                    Context.Request.Url.AbsoluteUri.Replace("https://localhost/", "");
                webName = webName.Replace("http://[SharePoint Server Name]/", "");
                webName = webName.Replace("/default.aspx", "");
    
                SPWeb web = site.AllWebs[webName];
                SPList list = web.Lists["StaffList"];
    
                ListBox1.Items.Clear();
                foreach (SPListItem item in list.Items)
                {
                    if (item["Region"].ToString() == selectedRegion)
                    {
                        // LinkTitle == LastName -> see schema.xml
                        ListBox1.Items.Add(item["StaffNumber"] + ": " + 
                            item["FullName"].ToString());
                    }
                }
            }
    
            protected void ListBox1_SelectedIndexChanged(object sender, EventArgs e)
            {
                // Reference the site based on its URL.
                SPSite site = new SPSite(Context.Request.Url.AbsoluteUri);
    
                // Add the SharePoint server name below.
                string webName = 
                    Context.Request.Url.AbsoluteUri.Replace("https://localhost/", "");
                webName = webName.Replace("http://[SharePoint Server Name]/", "");
                webName = webName.Replace("/default.aspx", "");
    
                SPWeb web = site.AllWebs[webName];
    
                // Reference the new list "StaffList" (as defined in onet.xml).
                SPList list = web.Lists["StaffList"];
    
                // Get the string entered in the listbox, split it up.
                // String format: ("XXXXXX: First Last") 
                string fullName = ListBox1.SelectedItem.Text; 
                string[] splitStr = fullName.Split(':');
    
                string longitude = "";
                string latitude = "";
                // Iterate through list, get the latitude/longitude 
                // values for the selected employee's StaffNumber.
                foreach (SPListItem item in list.Items)
                {
                    if (splitStr[0] == item["StaffNumber"].ToString())
                    {
                        longitude = item["Longitude"].ToString();
                        latitude = item["Latitude"].ToString();
    
                        break;
                    }
                }
    
                // Fetch the Bing map based on the selected employee's 
                // latitude and longitude.
                ShowMap(longitude, latitude); 
            }
    
            public void ShowMap(string Longitude, string Latitude)
            {
                Image2.ImageUrl = GetMap(Latitude, Longitude, Latitude + "," 
                    + Longitude);
            }
    
            private string GetMap(string Latitude, string Longitude, string locationString)
            {
                // Set the address to the Bing Maps imagery service.
                EndpointAddress address = new 
                    EndpointAddress("http://dev.virtualearth.net/webservices/v1/imageryservice/imageryservice.svc");
    
                // Set up the binding, channel, and Bing Maps key.
                BasicHttpBinding binding = new BasicHttpBinding();
                binding.UseDefaultWebProxy = true;
                ChannelFactory<IImageryService> factory = 
                    new ChannelFactory<IImageryService>(binding, address);
                IImageryService channel = factory.CreateChannel(address);
                // Add your key below.
                string key = "[Bing Maps key]";
                MapUriRequest mapUriRequest = new MapUriRequest();
    
                // Set credentials using a valid Bing Maps key
                mapUriRequest.Credentials = new ImageryService.Credentials();
                mapUriRequest.Credentials.ApplicationId = key;
    
                // Set the location of the requested image.
                mapUriRequest.Center = new ImageryService.Location();
                string[] digits = locationString.Split(',');
                mapUriRequest.Center.Latitude = double.Parse(digits[0].Trim());
                mapUriRequest.Center.Longitude = double.Parse(digits[1].Trim());
    
                // Set the map style and zoom level.
                MapUriOptions mapUriOptions = new MapUriOptions();
                mapUriOptions.Style = MapStyle.AerialWithLabels;
                mapUriOptions.ZoomLevel = 17;
    
                // Set the size of the requested image in pixels.
                mapUriOptions.ImageSize = new ImageryService.SizeOfint();
                mapUriOptions.ImageSize.Height = 388;
                mapUriOptions.ImageSize.Width = 465;
                mapUriOptions.Style = MapStyle.AerialWithLabels;
    
                mapUriRequest.Options = mapUriOptions;
    
                // Add a pushpin to the current location.
                ImageryService.Pushpin[] MapPins = new ImageryService.Pushpin[1];
                MapPins[0] = new Pushpin();
                MapPins[0].IconStyle = "34";
                MapPins[0].Location = new Location();
                MapPins[0].Location.Latitude = Convert.ToDouble(Latitude);
                MapPins[0].Location.Longitude = Convert.ToDouble(Longitude);
                mapUriRequest.Pushpins = MapPins;
    
                // Open the channel and retrieve the map.
                ((IChannel)channel).Open();
                MapUriResponse mapUriResponse = channel.GetMapUri(mapUriRequest);
                ((IChannel)channel).Close();
                return mapUriResponse.Uri;
    
            }
        }
    }
    

Agregar el elemento web visual a la página default.aspx

A continuación, agregue el elemento web visual a la página default.aspx de la definición de sitio.

Para agregar un elemento web visual a la página default.aspx

  1. Abra la página default.aspx y agregue el marcado siguiente bajo la etiqueta WebPartPages.

    <%@ Register Tagprefix="MyWebPartControls" Namespace="TestSiteDef2.SiteDefinition.VisualWebPart1" Assembly="$SharePoint.Project.AssemblyFullName$" %>
    

    Esta línea asocia el nombre MyWebPartControls al elemento web y su código. El parámetro Namespace es igual que el espacio de nombres utilizado en el archivo de código VisualWebPart1Usercontrol.ascx.

  2. Después del elemento </asp:Content>, reemplace la sección ContentPlaceHolderId="PlaceHolderMain" completa y su contenido por el marcado siguiente.

    <asp:Content ID="Content1" ContentPlaceHolderId="PlaceHolderMain" runat="server">
        <h1>
            Welcome to Tailspin Toys
        </h1>  
        <MyWebPartControls:VisualWebPart1 runat="server" />
    </asp:Content>
    

    Este marcado crea una referencia al elemento web visual creado anteriormente.

Ejecutar e implementar la solución de definición de sitio

A continuación, ejecute el proyecto e impleméntelo en SharePoint.

Para ejecutar e implementar la definición de sitio

  • Presione F5. Visual Studio compila el código, agrega las características del proyecto, empaqueta todos los archivos en un archivo .wsp e implementa el archivo .wsp en el servidor de SharePoint. A continuación, SharePoint instala los archivos, activa las características y muestra la página Nuevo sitio de SharePoint.

Crear un sitio basado en la definición de sitio

Cree un nuevo sitio utilizando la nueva definición de sitio.

Para crear un sitio utilizando la definición de sitio

  1. En el sitio de SharePoint, aparece la página Nuevo sitio de SharePoint.

  2. En la sección Título y descripción, escriba Nuevo sitio como título y una descripción del sitio.

  3. En la sección Dirección de sitio web, escriba nuevositio en el cuadro Nombre de URL.

  4. En la sección Plantilla, haga clic en la pestaña Personalizaciones de SharePoint y, a continuación, seleccione TestSiteDef2 en la lista Seleccione una plantilla.

  5. Deje las otras opciones en su valor predeterminado y haga clic en Crear.

    Aparecerá el nuevo sitio.

Probar el nuevo sitio

A continuación, pruebe el nuevo sitio para asegurarse de que funciona correctamente.

Para probar el nuevo sitio

  1. En el cuadro que está debajo de Región, haga clic en una de las ubicaciones.

    En la lista Staff aparece un nombre de empleado para esa región.

  2. Haga clic en el nombre del empleado en la lista Staff.

    Aparece una ubicación del mapa para el empleado en el control de imagen.

    Nota

    Si el servicio Bing Maps no está disponible, puede obtener un error de "EndPointNotFoundException". Si ocurre esto, inténtelo de nuevo después.

Vea también

Tareas

Tutorial: Crear un proyecto de definición de sitio básico

Cómo: Crear un receptor de eventos

Otros recursos

Desarrollar soluciones de SharePoint