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.

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 :

Enable Source Link in Visual Studio 2019

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.

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 :

Enable Source Link in Visual Studio for Mac

Assicurarsi che l'opzione Esegui istruzione in codice esterno sia abilitata.

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:

Breakpoint set on Xamarin.Forms method

A seconda delle impostazioni specificate nelle opzioni del debugger , Visual Studio avvisa che sta scaricando i file di origine:

Visual Studio external code warning

Dopo aver consentito a Visual Studio di scaricare i file, il debugger eseguirà l'istruzione nel codice esterno.

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:

Visual Studio Source Link caching

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.

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.