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.
Habilitación del vínculo de origen
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:
Asegúrese de que Habilitar solo mi código está deshabilitado y que la compatibilidad con Habilitación de Source Link está habilitada.
Habilitación del vínculo de origen
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:
Asegúrese de que Depurar paso a paso por instrucciones el código externo está habilitado.
Depuración de Xamarin.Forms mediante Source Link
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:
En función de la configuración especificada en las opciones del depurador, Visual Studio le advertirá de que está descargando archivos de origen:
Una vez que permita que Visual Studio descargue los archivos, el depurador pasará al código externo.
Almacenamiento en caché de Source Link
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:
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é.
Almacenamiento en caché de Source Link
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é.