Compartir a través de


Importar elementos de un sitio de SharePoint existente

La plantilla de proyecto Paquete de importación de la solución de SharePoint permite reutilizar elementos, como, por ejemplo, los tipos de contenido, definiciones de lista y campos, de los sitios de SharePoint existentes en una nueva solución para SharePoint de Visual Studio. Aunque la mayoría de las soluciones importadas se pueden ejecutar sin necesidad de realizar modificaciones, hay algunas restricciones y aspectos que deben tenerse en cuenta, sobre todo si se van a modificar los elementos después de importarlos.

Nota

Para importar flujos de trabajo reutilizables, use la plantilla de proyecto Importar flujo de trabajo reutilizable. Para obtener más información, vea Pautas para importar flujos de trabajo reutilizables.

Soluciones de SharePoint compatibles

Visual Studio 2010 es totalmente compatible con la importación de soluciones creadas en SharePoint Foundation 2010 y SharePoint Server 2010.

Visual Studio 2010no admite la importación de soluciones creadas en las siguientes aplicaciones:

  • Windows SharePoint Services 3.0

  • Microsoft Office SharePoint Server 2007

  • Visual Studio 2008

  • Microsoft SharePoint Designer 2007

  • Visual Studio 2010

    Nota

    En otras palabras, Visual Studio 2010no admite la importación de soluciones de SharePoint creadas en Visual Studio 2010.

Aunque normalmente puedan importarse soluciones creadas por estas aplicaciones correctamente, no se ha probado esta funcionalidad ni está sujeta a soporte técnico.

Restricciones de importación de elementos

Aunque la mayoría de los elementos de SharePoint se pueden importar desde un archivo .wsp existente, los elementos siguientes no se admiten y pueden requerir modificaciones para que funcionen correctamente:

  • Entidades de BDC

  • Elementos de asociación de flujo de trabajo de código

  • Flujos de trabajo de código

  • Elementos web visuales (.ascx)

  • Servicios Web (.asmx)

  • Enlaces de tipo de contenido

  • Receptores de eventos

  • Definiciones de lista (plantillas)

  • Definiciones de sitio

Cuando exporta una solución de SharePoint Foundation 2010 o SharePoint Server 2010, estos elementos se excluyen automáticamente del archivo .wsp. Sin embargo, otros archivos .wsp generados desde herramientas no compatibles pueden contener estos elementos. (Vea la sección "Soluciones del SharePoint compatibles" situada más arriba, en este mismo tema).

¿Qué ocurre cuando se importa una solución?

Cuando se importa una solución con la plantilla Paquete de importación de la solución de SharePoint, Visual Studio copia todo el contenido del archivo .wsp e intenta reconciliar y retener tantas asociaciones y referencias entre los elementos importados y sus archivos como sea posible.

Todos los elementos importados se copian en sus respectivas carpetas del Explorador de soluciones. Por ejemplo, los tipos de contenido aparecen en la carpeta Tipos de contenido y las instancias de lista aparecen en Instancias de lista. Los archivos asociados a un elemento importado también se copian en la carpeta del elemento. Por ejemplo, una instancia de lista importada incluye sus módulos, formularios y páginas ASPX.

Elementos dependientes

Si selecciona un elemento en el asistente para importar paquetes de soluciones de SharePoint, pero no sus elementos dependientes, un cuadro de mensaje le informará de que los elementos dependientes también deben estar seleccionados antes de importar.

¿Qué son las características?

Los usuarios de SharePoint Designer pueden ver que aparecen unos archivos inusuales, denominados características, en las soluciones importadas en el Explorador de soluciones. Aunque las características existían en la solución de SharePoint Designer, estaban ocultas. En Visual Studio, ahora las características están visibles.

Las características son contenedores de elementos de SharePoint. Cada característica mantiene una referencia a cada elemento, como los tipos de contenido y las definiciones de lista, que contiene. Cuando se importa la solución, Visual Studio configura las características de todos los elementos importados e intenta mantener las relaciones entre las características y los elementos de los archivos. Los archivos cuyas referencias no pueden resolverse se sitúan en la carpeta Otros archivos importados.

Para obtener más información sobre las características, vea Desarrollar soluciones de SharePoint y Trabajo con características.

Administrar casos especiales

En algunos casos, Visual Studio no puede reconciliar un elemento con sus archivos dependientes. Los archivos que Visual Studio no puede resolver aparecen en la carpeta Otros archivos importados. Además, sus propiedades DeploymentType están establecidas en NoDeployment para que no se implementen con la solución.

Por ejemplo, si importa la definición de lista ExpenseForms, aparece una definición de lista con ese nombre en la carpeta Definiciones de lista del Explorador de soluciones junto con sus archivos Elements.xml y Schema.xml. Sin embargo, sus formularios ASPX y HTML asociados pueden situarse en una carpeta denominada ExpenseForms incluida en la carpeta Otros archivos importados. Para completar la importación, mueva estos archivos situados en la definición de lista ExpenseForms del Explorador de soluciones y cambie la propiedad DeploymentType de cada archivo de NoDeployment a ElementFile.

Al importar receptores de eventos, el archivo Elements.xml se copia en la ubicación correcta, pero debe incluirse manualmente el ensamblado en el paquete de la solución para que se implemente con la solución. Para obtener más información sobre cómo hacerlo, vea Cómo: Agregar y quitar ensamblados adicionales.

Al importar los flujos de trabajo, los formularios de InfoPath se copian en la carpeta Otros archivos importados. Si el archivo .wsp contiene una plantilla web, se establece como página de inicio en el Explorador de soluciones.

Importar campos y contenedores de propiedades

Cuando se importa una solución que tiene varios campos, todas las distintas definiciones de campo se combinan en un solo archivo Elements.xml situado en un nodo del Explorador de soluciones denominado Campos. De igual forma, todas las entradas de los contenedores de propiedades se combinan en un archivo Elements.xml situado en un nodo denominado PropertyBags.

Los campos de SharePoint son columnas de un tipo de datos especificado, como texto, booleano o búsqueda. Para obtener más información, vea Building Block: Columns and Field Types. Los contenedores de propiedades permiten agregar propiedades a objetos de SharePoint, desde una granja de servidores hasta una lista de un sitio de SharePoint. Los contenedores de propiedades se implementan como una tabla hash de nombres de propiedad y valores. Para obtener más información, vea Managing SharePoint Configuration o SharePoint Property Bag Settings.

Eliminar elementos del proyecto

La mayoría de los elementos de las soluciones de SharePoint tienen uno o varios elementos dependientes. Por ejemplo, las instancias de lista dependen de los tipos de contenido y los tipos de contenido dependen de los campos. Después de importar una solución de SharePoint, Visual Studio no notifica ningún problema de referencia si se elimina un elemento de la solución, pero no sus elementos dependientes hasta que se intenta implementar la solución. Por ejemplo, si una solución importada tiene una instancia de lista que depende de un tipo de contenido y elimina ese tipo de contenido, se podría producir un error de implementación. El error se produce si el elemento dependiente no está presente en el servidor de SharePoint. De igual forma, si un elemento eliminado también tiene un contenedor de propiedades relacionado, elimine esas entradas del contenedor de propiedades del archivo Elements.xml de PropertyBags. Por consiguiente, si elimina cualquier elemento de una solución importada y obtiene errores de implementación, compruebe si es necesario eliminar también cualquier elemento dependiente.

Restaurar atributos de características que faltan

Cuando se importan soluciones, algunos atributos de características opcionales se omiten del manifiesto de la característica importada. Si desea restaurar estos atributos en el nuevo archivo de la característica, identifique los atributos que faltan comparando el archivo de la característica original con el nuevo manifiesto de la característica y siga las instrucciones que se especifican en el tema Cómo: Personalizar una característica de SharePoint.

La detección de conflictos de implementación no se realiza en instancias de lista integradas

Visual Studio no realiza la detección de conflictos de implementación en instancias de lista integradas (es decir, instancias de lista predeterminadas que vienen con SharePoint). Esto es así para evitar que se sobrescriban las instancias de lista integradas de SharePoint. Las instancias de lista integradas siguen implementándose o actualizándose, pero nunca se eliminan ni se sobrescriben. Para obtener más información, vea Solucionar problemas de empaquetado e implementación de SharePoint.

Importar flujos de trabajo de SharePoint Server 2010

Si importa un flujo de trabajo creado en SharePoint Server 2010, no se ejecutará correctamente después de su implementación. El flujo de trabajo no se ejecutará correctamente porque faltan ciertos ensamblados están faltando y los flujos de trabajo deSharePoint Server 2010 contienen formularios de InfoPath que no se admiten actualmente en las soluciones de flujo de trabajo de Visual Studio. Sin embargo, los flujos de trabajo de SharePoint Server 2010importados se pueden hacer funcionar correctamente después de corregir algunos elementos, como la incorporación de referencias a los ensamblados SharePoint Server 2010 y la reconexión de los formularios de InfoPath. Para obtener más información, vea Importing SharePoint Server 2010 Workflows.

Límite de caracteres para los nombres de elemento

Visual Studio tiene un límite de 260 caracteres para los nombres de proyecto y elemento de proyecto, incluida la ruta de acceso. Al importar una solución, si un nombre de elemento supera este límite, se produce un error:

La ruta de acceso especificada, el nombre de archivo, o ambos, son demasiado largos. El nombre de archivo completo debe ser inferior a 260 caracteres y el nombre del directorio debe ser inferior a 248.

Si se produce este error, no se crea el elemento. Este problema se produce con mayor frecuencia en los módulos importados. Para evitar este problema, realice la siguiente operación:

  • Use nombres cortos para el proyecto cuando los escriba en el cuadro de diálogo Agregar nuevo proyecto.

  • Cree el proyecto en una ubicación lo más próxima a la carpeta raíz que sea posible para que la ruta de acceso sea más corta.

Atributo SharePointProductVersion

Si importa una solución creada en una versión anterior de SharePoint, como Windows SharePoint Services 3.0 o Microsoft Office SharePoint Server 2007, cambie el valor del atributo SharePointProductVersion en el manifiesto del paquete a 12.0 o inserte un control de administrador de script en todas las páginas web importadas y deje SharePointProductVersion establecido en 14.0. De lo contrario, los formularios web importados no se mostrarán en SharePoint.

Información básica

Las soluciones de SharePoint Foundation 2010 y SharePoint Server 2010 incluyen el atributo SharePointProductVersion. SharePoint utiliza este atributo en los manifiestos de los paquetes para determinar la versión de SharePoint para la que se ha diseñado la solución. Los dos valores válidos son 12.0 y 14.0. El valor 12.0 indica que el elemento se ha diseñado para Windows SharePoint Services 3.0 o para Microsoft Office SharePoint Server 2007, mientras que el valor 14.0 indica que el elemento se ha diseñado para SharePoint Foundation 2010 o SharePoint Server 2010.

Para obtener una seguridad mejorada al representar páginas ASPX, SharePoint Foundation 2010 y SharePoint Server 2010 requieren que todas las páginas ASPX o maestras contengan un control de administrador de scripts. Para obtener más información sobre el administrador de scripts, vea Información general sobre el control ScriptManager. Dado que el control de administrador de scripts no está disponible en Windows SharePoint Services 3.0 ni en Microsoft Office SharePoint Server 2007, es necesario agregarlo a todas las páginas de Windows SharePoint Services 3.0 o de Microsoft Office SharePoint Server 2007 que se actualicen a SharePoint Foundation 2010 o SharePoint Server 2010. Las páginas ASPX que utilizan una página maestra estándar no requieren un control de administrador de scripts porque ya se ha agregado uno a la página maestra estándar. Sin embargo, las páginas ASPX que no utilizan una página maestra o que usan una página maestra personalizada deben agregar un control de script para que funcionen en SharePoint Foundation 2010 o SharePoint Server 2010.

La ausencia de un control de administrador de scripts puede suponer un problema cuando se importa un proyecto de Windows SharePoint Services 3.0 o de Microsoft Office SharePoint Server 2007 en Visual Studio 2010, ya que el atributo SharePointProductVersion de todos los nuevos proyectos está establecido en 14.0. Si implementa un proyecto actualizado que tiene un formulario web sin administrador de scripts, el formulario no se mostrará en SharePoint.

Vea también

Tareas

Tutorial: Importar elementos de un sitio de SharePoint

Tutorial: Importar un flujo de trabajo reutilizable de SharePoint Designer en Visual Studio

Cómo: Agregar un archivo de modelo BDC existente a un proyecto de SharePoint

Otros recursos

Pautas para importar flujos de trabajo reutilizables