Source Link con Xamarin.Forms

Los paquetes NuGet Xamarin.Forms incluyen asignaciones de Source Link. Source Link asigna bibliotecas compiladas, contenidas en un paquete NuGet, a un repositorio de código fuente. Visual Studio descargará archivos de código fuente durante la depuración y permitirá a los desarrolladores recorrer el código, lo que permite la depuración de paquetes sin compilar desde el origen.

Para obtener más información sobre el uso de Source Link, vea Documentación de Source Link.

Advertencia

Visual Studio 2019 admite Source Link para el depurador de .NET, pero actualmente no admite Source Link para el depurador mono. Por lo tanto, puede usar Source Link para depurar aplicaciones para UWP, pero no Android o iOS. Al depurar aplicaciones para UWP, debe asegurarse de que los archivos PDB de las bibliotecas que quiere depurar se copian en la carpeta AppX en el directorio bin donde se compila la aplicación.

El uso de Source Link requiere habilitar la depuración para código externo; de lo contrario, el depurador pasará las llamadas al código que no se encuentran en la solución actual. En Visual Studio 2019, puede encontrarse en el menú Opciones de la sección Depuración:

Enable Source Link in Visual Studio 2019

Asegúrese de que Habilitar solo mi código está deshabilitado y que la compatibilidad con Habilitación de Source Link está habilitada.

El uso de Source Link requiere habilitar la depuración para código externo; de lo contrario, el depurador pasará las llamadas al código que no se encuentran en la solución actual. Esta opción se puede encontrar en la ventana Preferencias de la sección Depurador:

Enable Source Link in Visual Studio for Mac

Asegúrese de que Depurar paso a paso por instrucciones el código externo está habilitado.

Si la depuración de paquetes externos está habilitada, Visual Studio usará las asignaciones de Source Link contenidas en el paquete NuGet para descargar y recorrer el código fuente externo. Esto se puede probar estableciendo un punto de interrupción en una llamada a un método proporcionado por Xamarin.Forms:

Breakpoint set on Xamarin.Forms method

En función de la configuración especificada en las opciones del depurador, Visual Studio le advertirá de que está descargando archivos de origen:

Visual Studio external code warning

Una vez que permita que Visual Studio descargue los archivos, el depurador pasará al código externo.

Source Link usa el almacenamiento en caché para el rendimiento. El directorio de almacenamiento en caché de Source Link se define en el menú Opciones en Depuración en la sección Símbolos:

Visual Studio Source Link caching

Este menú le permite especificar el directorio de almacenamiento en caché para todos los símbolos de depuración, así como borrar la memoria caché si encuentra problemas con símbolos almacenados en caché.

Source Link usa el almacenamiento en caché para el rendimiento. El directorio de almacenamiento en caché de Source Link en MacOS es /Users/<username>/Library/Caches/VisualStudio/8.0/Symbols. Esta carpeta contiene subcarpetas que almacenan el repositorio usado para descargar archivos de origen. Si el repositorio de respaldo de un paquete NuGet ha cambiado, es posible que tenga que eliminar manualmente estas carpetas para actualizar la memoria caché.