2010-11-15 14 views
5

Hemos encontrado un problema con nuestra implementación en un servidor de producción que ejecuta Sharepoint 2010 Publishing Site Collection.Problema de implementación de Sharepoint 2010 WSP. No se pueden implementar nuevos archivos

Estamos implementando WSP empaquetado desde Visual Studio a Sharepoint Management Shell (Desinstalar, reinstalar solución). Ha funcionado como un encanto en el pasado. Agregamos una página maestra personalizada, archivos css, imágenes y luego añadimos con éxito diseños de página personalizados.

También tengo SP ejecutándose localmente en mi computadora y todo funciona bien, sin problemas añadiendo nuevos archivos mediante la implementación de Feature. Puedo agregarlos cuidadosamente en una biblioteca de documentos o incluso crear nuevas carpetas desde el archivo Elements.

Sin embargo, el problema surge cuando despliegue mi WSP en el servidor de producción. Quiero agregar algunos archivos JS y un archivo XSL a la Biblioteca de estilos, pero los archivos no se agregarán a la biblioteca de documentos. El proceso de implementación transcurre sin problemas y cuando reviso mi función en Sharepoint Hive, ¡los nuevos archivos están allí en el disco físico! Sin embargo, no se agregarán a la Biblioteca de documentos virtual.

Puedo actualizar archivos existentes como la página maestra y los archivos CSS para que la función que se implementa funcione.

Supongo que tiene que ver con problemas de permisos o algún error en mi código. Pero hice exactamente lo que hicimos antes al implementar.

Esta es la forma en mi archivo Elements.xml parece:

<?xml version="1.0" encoding="utf-8"?> 
<Elements xmlns="http://schemas.microsoft.com/sharepoint/"> 
    <Module Name="ALayout" Url="_catalogs/masterpage" RootWebOnly="true" > 
    <File Path="ALayout\_a_intra.master" Url="_a_intra.master" Type="GhostableInLibrary" /> 
    </Module> 
    <Module Name="ALayoutStyles" Url="Style Library" RootWebOnly="true" > 
    <File Path="ALayout\styles\z_aintra_core.css" Url="z_aintra_core.css" /> 
    <File Path="ALayout\styles\aintra_std.css" Url="aintra_std.css" /> 
</Module> 
    <Module Name="ALayoutStyleImages" Url="Style Library/img" RootWebOnly="true" > 
    <File Path="ALayout\styles\img\a-logobig.png" Url="a-logobig.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\bg.png" Url="bg.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\divider.png" Url="divider.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\nav-bg-hovered.png" Url="nav-bg-hovered.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\nav-bg-radius-left.png" Url="nav-bg-radius-left.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\nav-bg-radius-right.png" Url="nav-bg-radius-right.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\nav-bg-selected.png" Url="nav-bg-selected.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\nav-bg.png" Url="nav-bg.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\nav-divider.png" Url="nav-divider.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\top_bg.png" Url="top_bg.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\user-account-radius-left.png" Url="user-account-radius-left.png" Type="GhostableInLibrary" /> 
    <File Path="ALayout\styles\img\user-account-radius-right.png" Url="user-account-radius-right.png" Type="GhostableInLibrary" /> 
    </Module> 
    <Module Name="ALayoutScript" Url="Style Library/js" RootWebOnly="true" > 
    <File Path="ALayout\js\script.js" Url="script.js" Type="GhostableInLibrary" /> 
    <File Path="ALayout\js\plugins.js" Url="plugins.js" Type="GhostableInLibrary" /> 
</Module> 
    <Module Name="ALayoutScriptLibs" Url="Style Library/js/libs" RootWebOnly="true" > 
    <File Path="ALayout\js\libs\jquery-1.4.2.min.js" Url="jquery-1.4.2.min.js" Type="GhostableInLibrary" /> 
    </Module> 
</Elements> 

Los últimos dos módulos (por Javascript) es los que yo no se puede implementar a la biblioteca de documentos. Probé con diferentes bibliotecas de documentos, pero todavía no funciona en el servidor de producción, solo localmente. Y no puedo implementar en Sharepoint Hive mediante Feature.

¿Alguien puede pensar en algo que me perdí?

+0

¿ya existe la carpeta js? –

+0

Primero pensé que ese era el problema, así que agregué una carpeta manualmente. Aún así no funcionó. Traté de implementarlo directamente en la Biblioteca de estilos también. También probé diferentes carpetas, por ejemplo, _catalogs/_masterpage, _layouts, etc. No tuve suerte.Y el archivo XSL (No en el código) debe agregarse a la Biblioteca de estilos/Hojas de estilo/Carpetas XSL porque lo necesito para el estilo CQWP, por lo que agregarlo a Sharepoint Hive no es una solución. – Anandasama

+0

¿Estás seguro de que no está alcanzando ningún error? Parece que podría estar llegando a un error y deteniendo el procesamiento antes de que llegue a los archivos JS. Su archivo XML se ve bien, entonces el problema está en otra parte: probablemente en su código o en la configuración del servidor. –

Respuesta

5

Wow, la solución era simple. Desactivé la función en la administración de Sharepoint, la reactivamos y se implementan los nuevos archivos.

POR QUÉ sucedió esto, no sé. Si actualizo mi función en lugar de uninstall-> add, ¿podría arreglarla? ¿Por qué el comportamiento es diferente en la granja de producción frente a la local? etc.

+0

Gracias !! ¡Eres un verdadero héroe! ¡Salvaste el día! Gracias. – robsonrosa

+0

lo mismo para mí. Gracias ! – wallou

1

Hay algunos puntos que quiero que le avise. Simplemente verifique si ya los está siguiendo ...

  1. Espero que tenga la carpeta "js" en su solución VS (en el módulo ALayout).
  2. Añadir IgnoreIfAlreadyExists = atributo "FALSO" al nodo

    ruta de archivo = "ALayout \ js \ libs \ jquery-1.4.2.min.js" url = "jquery-1.4.2.min.js "type =" "IgnoreIfAlreadyExists = "GhostableInLibrary FALSO"/

  3. uso ULSViewer a ver los errores durante la implementación de la producción ...

+0

¡Gracias por tus puntos! 1. sí Tengo una carpeta js en mi solución. Las vías funcionan. En mi máquina de VM local, todo está implementado. Sin embargo, en la granja de producción no lo es. 2. IgnoreIfAlreadyExists ... He visto algunos ejemplos de cómo usar esto pero nunca entendí lo que significaba. Intentaré. ¡Gracias! 3. Comprobé el visor ULS y no hubo errores durante la implementación. – Anandasama

+0

Actualización: IgnoreIfAlreadyExists no funcionó. – Anandasama

Cuestiones relacionadas