viernes, 5 de agosto de 2016

TimeZoneNotFoundException al compilar proyectos de Xamarin

¡Hola! Durante las últimas semanas hemos comenzado con sesiones en línea donde aprendemos a desarrollar aplicaciones móviles multiplataforma con Xamarin. Esto ha motivado a varios amigos, alumnos y profesionistas en general a conocer las ventajas de utilizar esta plataforma, lo cual a su vez me motiva para continuar compartiendo lo poco que sé.

Sin embargo, varios usuarios me reportaron que no podían compilar los proyectos de Xamarin debido a una excepción que les aparecía al hacer el Build del proyecto. Podemos concluir que si eres de México y acabas de instalar Xamarin, es probable la compilación de un proyecto no sea exitosa, mostrando la excepción TimeZoneNotFoundException.

Créditos de la imagen: José Serrano (¡gracias!)



Después de realizar una búsqueda (y vaya que estaba muy escondida la solución), hay 2 posibles acciones que puedes implementar para resolver este problema:


  • La más fácil consiste en cambiar la zona horaria de Windows en tu computadora a UTC -6 Hora central (Estados Unidos y Canadá). Fuente: Xamarin Forums (comprobado que funciona, nuevamente gracias José)



  • La segunda opción es desinstalar la versión actual de Xamarin e instalar la versión 4.1.0.530, descargable desde este enlace. NOTA: Una vez que instales esta versión anterior, te va a pedir que actualices Xamarin a una versión más reciente. NO actualices. Fuente: Xamarin's bug tracking system.

Explicación: Este error aparece a los usuarios de la región México cuyo sistema de Windows tenga la zona horaria (UTC -6) Guadalajara, Ciudad de México, Monterrey debido a que hay un error en el archivo mandroid.exe al tratar de compilar la librería Ionic para ciertas regiones. Aparentemente, se está removiendo un paréntesis de la zona horaria y eso ocasiona que falle la compilación. Según se reporta en el último enlace, el Cycle 8 de Xamarin ya no tendrá este error (así que otra solución es instalar dicha versión, que sale en Otoño de acuerdo a lo anunciado en Xamarin Releases).

Espero te sea de utilidad :-)

¡Saludos!

No hay comentarios:

Publicar un comentario