domingo, 17 de febrero de 2008

Error al desplegar un WebPart: Caracteres no válidos en la ruta de acceso.


Problema.

Bien, como no todo es de color de rosa en entornos Microsoft, os voy a contar un problema que tuve a la hora de intentar desplegar el primer webpart de prueba que hice en Visual Studio y que probablemente a mucha gente le ha pasado también.

La cosa es que después de instalar las extensiones de VS .Net 2005 tal y como os he contado en
este artículo
, decidí crear un nuevo proyecto de tipo webpart, usando la plantilla que me instaló en Visual Studio el programa de instalación.

Total que después de hacerla, la compilo y todo correcto. Cuando voy a desplegar la solución el Visual Studio me da el siguiente error:

Caracteres no válidos en la ruta de acceso.

Y ya esta. No dice nada más. No de da ninguna explicación más, ni posibilidad de ayuda ni nada.

Evidentemente al pasarte esto te quedas con cara de tonto pensando: 'que habré hecho mal'.

Claro al pasarme esto busco en 'Mr. Google' a ver cual es el origen de ese error, pero nada. No hay nada por ninguna parte acerca de este error.

Desinstalo las extensiones, pensando que ha sido un problema de que se han instalado de manera errónea. Las instalo de nuevo, vuelvo a abrir el proyecto le compilo: sin problema. Le despliego y otra vez el mismo error.

De nuevo le pido ayuda a 'Mr. Google' y después de unas cuantas horas buscando , di con un blog en inglés donde explicaban la solución al problema.


La solución.

Si queréis ver la solución os dejo un enlace al blog original. Pero para los que no se le de muy bien el inglés, os comento como lo solucioné (la cosa es que es de lo mas sencillo del mundo).

Parece ser que el error reside en que en proceso de despliegue de la webpart, el Visual Studio crea los archivos temporales necesarios para el despliegue, en la ruta apuntada por las variables de entorno TMP y TEMP del sistema.

En los sistemas Windows 2003 en inglés estas dos variables están establecidas por defecto a

C:\Documents and settings\(mi_nombre_ de_usuario)\Local settings\Temp

y aquí no hay ningún problema.

Sin embargo su el S.O. es español, esta ruta esta establecida por defecto a C:\Documents and settings\myusername\Configuración local\Temp y aquí es donde reside el problema: Parece ser que Visual Studio, no admite acentos en la ruta temporal y como 'Configuración local' tiene acento en la 'o' pues peta todo.

La solución es cambiar las variables de entorno TEMP y TMP que apunten a una ruta que no tenga acentos, eñes ni otros caracteres especiales. Yo las cambié para que apuntaran a C:\WINDOWS\TEMP, volví a desplegar y sin problemas.

Esto parece ser que ocurre con la versión en español de Visual Studio.

Espero haber ayudado con esta aclaración, porque ya digo que yo me pase mucho tiempo hasta que di con la solución de este problema, que se soluciona fácilmente pero tiene tela que no hayan pensado los amigos de microsoft en este detalle.


Un saludo.


Instalacion de las Extensiones de Visual Studio 2005


En este articulo voy a explicaros como instalar las Extensiones de Visual Studio 2005 que permiten el desarrollo de webparts para Sharepoint (tanto para WSS 3.0 como para MOSS) de una manera fácil e integrada con el el entorno de desarrollo.

Decir que para desarrollar un webpart para sharepoint, no necesitamos estas extensiones pero con ellas nos quitaremos del engorroso proceso de despligue del webpart en el servidor y nos proporcionarán las plantillas de proyecto necesarias para hacer el webpart.

Lo primero que tendremos que hacer es descargarnos las extensiones.
La descarga se llama 'Windows SharePoint Services 3.0 Tools: Visual Studio 2005 Extensions' y lo podeis descargar de la web de miscrosoft haciendo click aquí.

Primera cosa: Solo podremos instalar las extensiones si nuestro Visual Studio esta instalado en un Windows Server 2003 y por supuesto ese servidor tiene que tener el WSS 3.0 instalado y rulando.

Por tanto os enumero los prerequisitos:
  • Windows Server 2003.
  • Windows Sharepoint Services 3.0 (instalación básica) o MOSS instalado en el servidor.
  • Visual Studio 2005 Standard Edition, Professional Edition, o Team System (yo usare la versión Profesional en español, aunque la inglesa también vale).
Y me direis: ¿Tengo que tener instalado el Windows Server 2003 en mi equipo para desarrollar ?. Pues si. Podremos desarrollar bajo XP, pero tendremos que tener una máquina virtual con el Server 2003 instalado.

Hay varias opciones para esto:
  • Instalar el Windows Server 2003 y el WSS 3.0 en el equipo.
  • Instalar una máquina virtual (mediante Virtual PC) en el mismo equipo.
  • O tener otro equipo con el Windows Server 2003 y WSS 3.0.
Yo por ejemplo uso la tercera opción. Tengo un portátil con el Windows Server 2003 y el WSS 3.0 instalado y para desarrollar me conecto desde mi XP mediante escritorio remoto. Esta opción es la más cómoda, pero claro no todo el mundo puede tener dos equipos en casa.

La cosa es que hay que tener el Windows Server 2003, el WSS 3.0 y el Visual Studio 2005 todo en el mismo equipo para el desarrollo.

Luego nos instalamos las extensiones que nos hemos bajado. El proceso es muy sencillo y se hace mediante un asistente. (simplemente dandole siguiente, siguiente, siguiente ....)

En instaldor nos confgura las siguientes plantillas de proyecto:
  • Web Part Template: Plantilla para crear webparts para WSS.
  • Team Site Definition: Para crear una definicion de sitio de grupo para WSS.
  • Blank Site Definition: Para crear un sitio web en blanco para WSS.
  • List Definition: que nos permitirá crear una Lista de documentos para WSS.
Una vez instaladas, las extensiones nos permitiran crear proyectos de estos tipos y posteriormente desplegarlos fácilmente (mediante el boón de "run" del Visual Studio) en nuestro servidor.