Collegamento di origine con Xamarin.Forms
Xamarin.Forms I pacchetti NuGet includono i mapping dei collegamenti di origine. Il collegamento di origine esegue il mapping delle librerie compilate, contenute in un pacchetto NuGet, a un repository di codice sorgente. Visual Studio scaricherà i file di codice sorgente durante il debug e consentirà agli sviluppatori di scorrere il codice, abilitando il debug dei pacchetti senza compilarlo dall'origine.
Per altre informazioni sull'uso del collegamento all'origine, vedere La documentazione del collegamento all'origine.
Avviso
Visual Studio 2019 supporta il collegamento di origine per il debugger .NET, ma attualmente non supporta il collegamento di origine per il debugger Mono. Puoi quindi usare Il collegamento di origine per eseguire il debug di app UWP, ma non di app Android o iOS. Durante il debug delle app UWP devi assicurarti che i file PDB per le librerie di cui vuoi eseguire il debug vengano copiati nella cartella AppX nella directory bin in cui viene compilata l'app.
Abilitare il collegamento all'origine
L'uso del collegamento di origine richiede l'abilitazione del debug per il codice esterno. In caso contrario, il debugger eseguirà le chiamate precedenti al codice non contenuto nella soluzione corrente. In Visual Studio 2019 questo è disponibile nel menu Opzioni della sezione Debug :
Assicurarsi che Enable just my code (Abilita solo il codice ) sia disabilitato e che l'opzione Enable Source Link support (Abilita collegamento di origine ) sia abilitata.
Abilitare il collegamento all'origine
L'uso del collegamento di origine richiede l'abilitazione del debug per il codice esterno. In caso contrario, il debugger eseguirà le chiamate precedenti al codice non contenuto nella soluzione corrente. Questa opzione è disponibile nella finestra Preferenze della sezione Debugger :
Assicurarsi che l'opzione Esegui istruzione in codice esterno sia abilitata.
Eseguire il debug Xamarin.Forms con il collegamento all'origine
Se il debug di pacchetti esterni è abilitato, Visual Studio userà i mapping del collegamento di origine contenuti nel pacchetto NuGet per scaricare ed eseguire il codice sorgente esterno. Questa operazione può essere testata impostando un punto di interruzione in una chiamata a un metodo fornito da Xamarin.Forms:
A seconda delle impostazioni specificate nelle opzioni del debugger , Visual Studio avvisa che sta scaricando i file di origine:
Dopo aver consentito a Visual Studio di scaricare i file, il debugger eseguirà l'istruzione nel codice esterno.
Memorizzazione nella cache dei collegamenti di origine
Il collegamento di origine usa la memorizzazione nella cache per le prestazioni. La directory di memorizzazione nella cache per il collegamento origine è definita nel menu Opzioni in Debug nella sezione Simboli:
Questo menu consente di specificare la directory di memorizzazione nella cache per tutti i simboli di debug, nonché di cancellare la cache se si verificano problemi con i simboli memorizzati nella cache.
Memorizzazione nella cache dei collegamenti di origine
Il collegamento di origine usa la memorizzazione nella cache per le prestazioni. La directory di memorizzazione nella cache per Il collegamento all'origine in MacOS è /Users/<username>/Library/Caches/VisualStudio/8.0/Symbols
. Questa cartella contiene sottocartelle che archiviano il repository usato per scaricare i file di origine. Se il repository di backup per un pacchetto NuGet è stato modificato, potrebbe essere necessario eliminare manualmente queste cartelle per aggiornare la cache.