Xamarin.Forms y Source Link

Introducción

Estas desarrollando, todo parece tener lógica pero…no funciona como esperas. Te preguntas, ¿que ocurre?, ¿que estoy haciendo mal?. En ocasiones, el error esta entre la silla y el teclado (en uno mismo) pero en ciertos casos puede ser algo externo a tu código. En el caso de desarrollar aplicaciones Xamarin.Forms, puede deberse a un bug en Xamarin.Forms. Como todo software, no esta exento de posibles bugs.

Bien, pero, ¿qué hacer en este caso?. Sincronizar el código fuente de Xamarin.Forms y hacer que tu App use directamente los proyectos en lugar de las librerías de NuGet es una opción pero…es un proceso tedioso.

¿Qué es SourceLink?

Source Link es una tecnología que permite depurar el código de librerías .NET desde NuGets. Se ha incluido soporte a Source Link en Xamarin.Forms y esto quiere decir que…puedes depurar código de Xamarin.Forms desde tu propio código usando directamente el paquete NuGet!.

Ahora podrás «ver más allá» ayudándote a resolver dudas o en caso de encontrar una issue en Xamarin.Forms, puedes dar información mucho más detallada.

¿Cómo funciona SourceLink?

Es sencillo. Tan pronto como se lance una excepción o navegas a un método de Xamarin.Forms, verás un cartel como el siguiente:

Source Link

Lo que ocurrirá es que se descargará automáticamente el código fuente desde GitHub y comenzará a depurar. Depurar, navegar entre el código, puntos de ruptura, etc. todo lo habitual funcionará como de costumbre.

NOTA: La descarga de archivos va a una cache.

Ahora el paquete de Xamarin.Forms cuenta con la referencia al repositorio oficial en Github y de esta forma permite al IDE saber qué debe descargar, etc.

¿Cómo lo uso con Xamarin.Forms?

En Visual Studio para Windows, Source Link lleva funcionando un tiempo. En el caso de Visual Studio para macOS se ha incluido soporte en la versión 8.3 Preview (gran trabajo chicos!).

Mientras depuras una App Xamarin.Forms, si navegas a algo que forme parte de Xamarin.Forms se descargará el código automáticamente y podrás depurar «más allá».

Es un pequeño añadido en Xamarin.Forms pero bastante potente. Puede ayudar considerablemente a la hora de conocer mejor el framework, depurar, contribuir, etc.

¿Qué te parece esta opción?. Recuerda, cualquier comentario o pregunta es bienvenido!.

Más información

Deja un comentario