lunes, 30 de abril de 2012

Hello World en Windows Phone 7

Este podría ser el típico post de tres líneas donde explico de una manera rápida y sencilla como hacer el clásico Hello World! u ¡Hola mundo! en Windows Phone 7. Pero (siempre hay un pero) cuando las cosas no quieren salir no salen y lo que empezó siendo algo de 5 minutos terminó siendo una pequeña batalla de un par de horas.

Comencemos. Lo primero que hice fue buscar el SDK para descargarlo. Esta búsqueda me llevo a está página en donde te puedes descargar el instalador web para el SDK. Como no me gustan los instaladores web, busqué el enlace a la ISO (está en la parte final de la página) y me lo descargué.

Aquí cometí mi primer error. Tras descargarme e instalar el SDK, al arrancar el Visual Studio 2010 Professional no veía por ningún lado las plantillas para crear una aplicación para Windows Phone 7. Si ejecutaba el Visual Studio 2010 Express que instala el SDK no tenía problemas, pero en el Professional que ya tenía instalado no había manera. Tras buscar por google di con la respuesta en un foro de la MSDN donde decía que si tu Visual Studio 2010 estaba en inglés el SDK a instalar debía ser el inglés, sino, las plantillas podía no instalarse correctamente (me hizo gracia el comentario de "podían"). Y yo me había descargado el SDK en español, bueno, realmente ni me había fijado. Mientras me descargaba la ISO inglesa del SDK desinstalé el SDK español. Tras lanzar de nuevo la instalación me tocó desinstalar a mano todo lo relacionado con el Expression Blend, así que otros minutos divertidos delante del ordenador viendo barras de progreso. Bien, con todo esto superado, y tras instalar el SDK en inglés, las plantillas para crear una aplicación Windows Phone 7 estaban disponibles en mi Visual Studio.

Tras crear un proyecto y simplemente cambiar el texto de un label, ejecuté la aplicación. Pensaba que ya nada más podría ir mal, pero me equivoqué. El Visual Studio me dio el siguiente error

Error 1 Connection failed because of invalid command-line arguments. 0 0

Tocaba otra vez, lanzarme a buscar la solución en google. En diversos foros y páginas web encontré las siguiente soluciones, que desde ya advierto que no funcionan (por lo menos a mi)
  • Cerrar la solución y borrar todos los ficheros .user y .suo. 
  • Lanzar el Visual Studio con privilegios de administrador.
Desesperado iba a abandonar, pero revisando lo que se me había instalado con el SDK vi que estaba el emulador de Windows Phone. Ya que no podía ver la aplicación funcionando lo mismo podría entretenerme viendo el emulador. Al lanzar el emulador, y como no podía ser de otra manera me dio un error.


El programa no puede iniciarse porque falta 'MfPlat.DLL" en el equipo. Intente reinstalar el programa para corregir este programa.

¿Algo más podía ir mal? Una vez más tocada tirar de google. La mayoría de las soluciones pasaban por descargar la DLL de algun repositorio de DLLs e irla copiando por diversas carpetas del sistema. Solución que por supuesto descarte totalmente. En un foro de MSDN vi que si tu sistema operativo era de la serie N había que instalar el Media Feature Pack for Windows 7 N desde aquí. Y como mi Windows es serie 7N, me tocó descargar el paquete de 300MB e instalarlo.

Tras varios minutos de descarga e instalación, volví a abrir la solución. Y tras un par de segundos de compilación vi como se abría el emulador y un momento después mi primera ¿aplicación?  para Windows Phone 7 veía la luz...



No hay comentarios:

Publicar un comentario