Compartir a través de


Solucionar problemas de soluciones de SharePoint

Los siguientes problemas alertas pueden producirse al depurar las soluciones de SharePoint mediante el depurador de Visual Studio. Para obtener más información, consulte Depurar soluciones de flujo de trabajo de SharePoint 2007.

Restricciones de token en elementos web visuales en espacio aislado

Los elementos web visuales en soluciones en espacio aislado no pueden procesar tokens estándar, como $SPUrl, que admite el runtime de SharePoint. Como resultado, la dirección URL no se soluciona y no se puede obtener una vista previa del contenido en la vista Diseño del diseñador del elemento web visual, si se hace referencia directamente en un elemento script, como en el ejemplo siguiente:

<script src="<% $SPUrl:~site/SiteAssets/ListOperations.js %>"></script>

Para solucionar esta limitación y resolver el token, haga referencia al elemento script utilizando literales:

<asp:literal ID="Literal1" runat="server" Text="<script src='" />
<asp:literal ID="Literal2" runat="server" Text="<% $SPUrl:~site/SiteAssets/ListOperations.js %>" />
<asp:literal ID="Literal3" runat="server" Text="' type='text/javascript' ></script>" />

Restricciones de caracteres en nombres y elementos de proyecto

Los nombres de proyecto y de elemento de proyecto solo pueden contener caracteres válidos para una ruta de distribución de SharePoint 2010. No se permite ningún otro carácter.

Mensaje de error

Mensaje de error "Caracteres no válidos".

Solución

En los nombres de los proyectos de SharePoint y de elementos de proyecto, solo se deben usar los siguientes caracteres:

  • Caracteres ASCII alfanuméricos

  • Space

  • Punto (.)

  • Coma (,)

  • Subrayado (_)

  • Guión (-)

  • Barra diagonal inversa (\)

    Cuando se empaqueta un proyecto, una regla de validación comprueba que la propiedad de ruta de acceso de implementación de cada archivo que se está implementando contiene solo estos caracteres válidos.

Errores al crear campos personalizados

En Visual Studio, los campos personalizados se definen en XML. Se pueden producir errores si un campo no está definido o no se hace referencia a él con un formato concreto.

Mensaje de error

Mensaje de error "Caracteres no válidos" durante el empaquetado.

Solución

El identificador de una definición de campo debe ser un GUID entre llaves, como se muestra en el ejemplo siguiente:

<Field ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Type="Note"
    Name="PatientName"
    DisplayName="Patient Name"
    Group="A Custom Group">
</Field>.

Como se muestra en el siguiente ejemplo, una referencia de campo de un tipo de contenido se debe definir con el formato de elemento vacío (<FieldRef />), no con elementos de inicio y fin (<FieldRef></FieldRef>):

<FieldRef ID="{5744d18c-305e-4632-8bd1-09d134f4830d}"
    Name="PatientName"
    DisplayName="Patient Name"
    Required="TRUE"/>

Si el origen XML del campo es incorrecto o no es un archivo XML válido, o presenta algún otro problema, aparece un error que indica que no se puede analizar el archivo.

Tras la implementación, en la página de creación del sitio no aparecen las definiciones del sitio en idiomas distintos del inglés

Después de crear e implementar una nueva definición del sitio con una versión que no es en inglés de Visual Studio (es decir, una versión con un Id. de configuración regional que no sea 1033), la pestaña Personalizaciones de SharePoint no aparece en el cuadro Selección de plantilla y la nueva plantilla del sitio no aparece en la página Nuevo sitio de SharePoint.

Mensaje de error

Ninguno.

Solución

Este problema se produce debido a un valor incorrecto de la propiedad Path en el archivo webtemp de configuración de definición del sitio, como webtemp_SiteDefinitionProject1.xml. En la propiedad Path del archivo webtemp, situado en Ubicación de implementación, cambie 1033 por el Id. de configuración regional adecuado. Por ejemplo, para usar la configuración regional del japonés, cambie el valor a 1041. Para obtener más información, vea Id. de configuración regional asignados por Microsoft.

Aparece un error al implementar un proyecto de flujo de trabajo en un sistema limpio

Este problema se produce si se implementa un proyecto de flujo de trabajo en Visual Studio en un sistema limpio. Un sistema limpio es un equipo que tiene una instalación nueva de Visual Studio y SharePoint, pero no tiene ningún proyecto de flujo de trabajo implementado.

Mensaje de error

No se encuentra la lista de SharePoint: Historial del flujo de trabajo.

Solución

Este error se produce porque falta una lista del historial del flujo de trabajo. Dado que el entorno de desarrollo es un sistema limpio, no se implementa ningún flujo de trabajo y la lista del historial de flujo de trabajo no existe todavía. Para resolver este problema, vuelva a abrir el asistente de flujo de trabajo, lo que hará que se cree la lista del historial de flujo de trabajo.

Para volver a entrar en el asistente de flujo de trabajo

  1. En el Explorador de soluciones, elija el nodo de flujo de trabajo.

  2. En la ventana Propiedades, elija el botón de puntos suspensivos (...) de cualquier propiedad que tenga este botón.

El usuario debe actualizar la página de aplicación en el explorador durante la depuración para ver la imagen actualizada

Si está depurando una solución de SharePoint que contiene una página de aplicación con un control en el que se muestra una imagen, como un control de imagen HTML, es necesario actualizar la página en el explorador para mostrar los cambios que se realizan en la imagen.

Error: La ubicación del sitio no es válida

Este problema puede producirse si no se instala SharePoint Server. También puede ocurrir si no se tiene acceso de administrador al sitio web de SharePoint especificado en el Asistente para personalización de SharePoint.

Mensaje de error

  • La ubicación del sitio de SharePoint no es válida.

Solución

El evento web de eliminación de sitios no se genera en el proyecto de receptor de eventos

Cuando crea un proyecto de receptor de eventos y selecciona ciertos eventos web como "Se va a eliminar un sitio", el evento nunca se produce.

Mensaje de error

Ninguno.

Solución

Este problema se produce porque el ámbito de característica debe ser "Sitio" para poder administrar eventos del nivel de sitio, pero el ámbito de característica predeterminado en los proyectos de receptor de eventos es "Web". Los eventos web afectados son:

  • Se va a eliminar un sitio (WebDeleting)

  • Se eliminó un sitio (WebDeleted)

  • Se va a mover un sitio (WebMoving)

  • Se movió un sitio (WebMoved)

    Para corregir el problema, cambie el ámbito de característica del receptor de eventos tal y como se indica a continuación.

Para cambiar el ámbito de característica del receptor de eventos

  1. En el Explorador de soluciones, abra el archivo .feature del receptor de eventos en el Diseñador de características, haciendo doble clic en el archivo o abriendo el menú contextual y seleccionando después Abrir.

  2. Elija la flecha situada junto a Ámbito y, a continuación, elija Sitio en la lista que aparece.

Aparece un error de implementación después de cambiar el nombre de un identificador en un proyecto de modelo de conectividad a datos profesionales

Este problema se produce si cambia el nombre del identificador de una entidad de un modelo de conectividad a datos profesionales (BDC) y, a continuación, intenta implementar la solución.

Mensajes de error

  • <model name> tiene los siguientes errores de activación de tipo de contenido externo ...

  • El IMetadataObject denominado '<model name>' tiene un valor en el campo 'name' que está duplicado ...

Solución

Para resolver este problema, elimine el modelo manualmente y, a continuación, implemente de nuevo la solución. Puede eliminar el modelo utilizando cualquiera de las siguientes herramientas:

  • Administración central de SharePoint 2010. Para obtener más información, consulte Administración de modelos BDC en el sitio web de Microsoft TechNet.

  • Windows PowerShell. Puede eliminar el modelo introduciendo este comando en el símbolo del sistema: Remove-SPBusinessDataCatalogModel. Para obtener más información, consulte Cmdlets generales (SharePoint Server 2010) en el sitio web de Microsoft TechNet.

Error de implementación al intentar reciclar el grupo de aplicaciones de IIS en SharePoint Server

Este problema se produce si la característica de compatibilidad de WMI de IIS 6 y .NET Framework 3.5 no están instaladas en el equipo de SharePoint Server.

Mensajes de error

  • Error en el paso de implementación "Reciclaje del grupo de aplicaciones de IIS": espacio de nombres no válido
  • Error en el paso de implementación "Reciclaje del grupo de aplicaciones de IIS": se canceló una tarea.

Solución

Para resolver este problema, en el equipo de SharePoint Server, compruebe si está instalada la característica de Windows IIS 6 WMI Compatibility

  • Windows PowerShell. Para comprobar si la característica está instalada, ejecute este comando de PowerShell: get-windowsfeature -name Web-WMI. Si no se muestra como Instalado, puede instalarlo ejecutando el siguiente comando de PowerShell: install-windowsfeature -name Web-WMI. Si sigue viendo errores al intentar reciclar el grupo de aplicaciones, asegúrese de que .NET Framework 3.5 también esté instalado en la máquina ejecutando get-windowsfeature -name NET-Framework-Core y install-windowsfeature -name NET-Framework-Core si no lo está.

Aparece un error al intentar ver un elemento web visual en SharePoint

Este problema se produce cuando la propiedad Path de acceso del control de usuario no comienza con la cadena "CONTROLTEMPLATES\".

Mensajes de error

  • El archivo "/_CONTROLTEMPLATES/<nombre del proyecto>/<nombre del elemento web>/<nombre de control de usuario>.ascx" no existe.

  • Error del servidor en la aplicación '/'

Solución

Para resolver este problema

  1. En el Explorador de soluciones, elija el archivo de control de usuario, cuya extensión de nombre de archivo es .ascx.

  2. En la barra de menús, elija Ver>ventana Propiedades.

  3. En la ventana Propiedades, expanda el nodo Ubicación de implementación.

  4. Asegúrese de que el valor de la propiedad Path se inicia con la cadena "CONTROLTEMPLATES\".

Aparece un error al ejecutar un flujo de trabajo reutilizable importado que contiene un campo de formulario de tareas

Este problema se produce si importa un flujo de trabajo que contiene un formulario de tareas que incluye un campo y, a continuación, ejecuta el nuevo flujo de trabajo en el mismo sistema del que lo importó.

Mensaje de error

Error en el paso de implementación "Activar características": el campo con el id. [Guid] definido en la característica [Guid] se encontró en la colección de sitios actual o en un subsitio.

Solución

Este error es el resultado de colisiones de identificador de campo que se producen porque el proyecto Importar flujo de trabajo reutilizable en Visual Studio no cambia los identificadores de campo del formulario de tareas. Si implementa un flujo de trabajo importado en el mismo servidor que contiene el flujo de trabajo original, se producen colisiones de identificador de campo.

Para resolver este problema, use la característica Buscar y reemplazar para cambiar el valor del atributo id. de campo en todos los archivos de flujo de trabajo importados.

Aparece un error al ejecutar una instancia de lista importada con otro nombre

Este problema se produce si cambia el nombre de una instancia de lista importada y, a continuación, la ejecuta en Visual Studio.

Mensaje de error

Error de compilación: Error en el paso de implementación "Activar características": el archivo Template\Features\[proyecto de importaciónnombrede característica]\Files\Lists\[nombrede lista anterior]\Schema.xml no existe.

Solución

Al importar una instancia de lista, se agrega un atributo denominado CustomSchema al archivo Elements.xml de la instancia de lista. Elements.xml incluye la ruta de acceso de un archivo schema.xml personalizado para la instancia de lista. Al cambiar el nombre de la instancia de lista en Visual Studio, cambia la ruta de acceso de implementación para el archivo schema.xml personalizado, pero el valor de ruta de acceso del atributo CustomSchema no se actualiza. Como resultado, la instancia de lista no puede encontrar el archivo schema.xml en la ruta de acceso anterior especificada en el atributo CustomSchema cuando se activa la característica.

Para resolver este problema, actualice la ruta de acceso de la ubicación de implementación del archivo schema.xml en el atributo CustomSchema.

IIS finaliza la sesión de depuración de SharePoint

Este problema se produce si se establece un punto de interrupción en una solución de Visual Studio SharePoint. Seleccione la tecla F5 para ejecutarlo y, a continuación, permanezca en un punto de interrupción durante más de 90 segundos.

Mensaje de error

Internet Information Services (IIS) ha finalizado el proceso del servidor web que se estaba depurando. Para evitar este problema, puede configurar los valores del comando ping del grupo de aplicaciones en IIS. Vea la Ayuda para obtener más información.

Solución

De forma predeterminada, el grupo de aplicaciones de IIS espera 90 segundos a que una aplicación responda antes de cerrarla. Este proceso se conoce como "hacer ping" a la aplicación. Para resolver este problema, puede aumentar el tiempo de espera o deshabilitar el ping de la aplicación por completo.

Para obtener acceso a los valores de grupo de aplicación de IIS

  1. Abra Administrador de IIS.

  2. En el panel Conexiones, expanda el nodo de servidor de SharePoint y, a continuación, elija el nodo Grupos de aplicaciones.

  3. En la página Grupos de aplicaciones, elija el grupo de aplicaciones de SharePoint (normalmente "SharePoint - 80") y, a continuación, en el panel Acciones, elija el vínculo Configuración avanzada.

  4. Para aumentar el tiempo de espera antes de que se agote en IIS, cambie el valor de Tiempo máximo de respuesta de ping (segundos) a un valor que sea mayor que 90 segundos.

  5. Para deshabilitar el ping en IIS, establezca Ping habilitado en False.

La retracción automática deja huérfana la instancia de lista en SharePoint

Este problema se produce si realiza los siguientes pasos.

  1. Cree una definición de lista que contenga una instancia de lista en Visual Studio.

  2. Elija la tecla F5 para ejecutar la solución.

  3. Detiene la depuración o cierra el sitio de SharePoint.

  4. Vuelve a abrir el sitio de SharePoint y abre la instancia de lista.

Mensaje de error

Error del servidor en la aplicación '/'

Solución

Esto ocurre porque después de cerrar una sesión de depuración de una solución de SharePoint, la característica de retracción automática retrae la solución. La retractación elimina la definición de lista de SharePoint pero no elimina la instancia de lista. La instancia de lista requiere la definición de lista subyacente.

Para resolver este problema, implemente la solución eligiendo Compilar>Implementar en la barra de menús. (No depure la solución eligiendo la tecla F5). A continuación, elimine la instancia de lista en SharePoint.

Una versión exportada reemplaza la solución de SharePoint original

Si exporta una solución de SharePoint, importe la solución a Visual Studio y, a continuación, vuelva a implementar la solución en el mismo sitio del que la exportó; se reemplaza la solución de SharePoint original. Este problema no se produce si implementa la solución en un servidor que no tiene activada la solución original.

Mensaje de error

Ninguno.

Solución

Para evitar sobrescribir una solución en el sitio del que se exportó, cambie los GUID de SolutionID y los identificadores de todas las características importadas en el proyecto de Visual Studio.

Aparece un error cuando se inicia la depuración

Al empezar a depurar una solución de SharePoint en Visual Studio, se recibe un error que indica que Visual Studio no pudo cargar el archivo de configuración Web.config porque la clave especificada no se encontró en el diccionario.

Mensaje de error

No se puede cargar el archivo de configuración Web.config. Compruebe que el archivo no contiene elementos XML incorrectos e inténtelo de nuevo. Se produjo el siguiente error: La clave especificada no se encontró en el diccionario.

Solución

Para resolver este problema, asegúrese de que el valor de propiedad URL del sitio del proyecto de SharePoint en Visual Studio coincide con la dirección URL que está asignada a la zona predeterminada para las asignaciones de acceso alternativas de la aplicación web. No se resuelve el error si se usa otra zona, como la intranet, para la dirección URL. La dirección URL del sitio del proyecto y la dirección URL de la zona predeterminada deben coincidir. Para tener acceso a las asignaciones de acceso alternativas, abra la utilidad Administración central de SharePoint 2010, elija el vínculo Administración de aplicaciones y, a continuación, en Aplicaciones web, elija el vínculo Configurar asignaciones de acceso alternativas. Para obtener más información, consulte Creación de zonas para aplicaciones web.