次の方法で共有


Xamarin.Forms を使用した Source Link

Xamarin.Forms NuGet パッケージには、Source Link マッピングが含まれます。 Source Link は、NuGet パッケージに含まれるコンパイル済みライブラリをソース コード リポジトリにマップします。 Visual Studio は、デバッグ中にソース コード ファイルをダウンロードし、開発者がコードをステップ 実行して、ソースからビルドせずにパッケージのデバッグを有効にします。

Source Link の使用方法の詳細については、「Source Link のドキュメント」参照してください。

警告

Visual Studio 2019 では、.NET デバッガー の Source Link がサポートされていますが、現在、Mono デバッガー の Source Link はサポートされていません。 そのため、Source Link を使用して UWP アプリをデバッグできますが、Android アプリや iOS アプリはデバッグできません。 UWP アプリをデバッグするときは、デバッグするライブラリの PDB ファイルが、アプリがコンパイルされる bin ディレクトリの AppX フォルダーにコピーされていることを確認する必要があります。

Source Link を使用するには、外部コードのデバッグを有効にする必要があります。そうしないと、デバッガーは現在のソリューションに含まれていないコードの呼び出しをステップ実行します。 Visual Studio 2019 では、これは [デバッグ] セクションの [オプション] メニューにあります:

Enable Source Link in Visual Studio 2019

[マイ コードのみを有効にする] が無効になっており、[Source Link のサポートを有効にする] が有効になっていることを確認します。

Source Link を使用するには、外部コードのデバッグを有効にする必要があります。そうしないと、デバッガーは現在のソリューションに含まれていないコードの呼び出しをステップ実行します。 このオプションは、[デバッガー] セクションの [ユーザー設定] ウィンドウにあります:

Enable Source Link in Visual Studio for Mac

[外部コードへのステップイン] が有効になっていることを確認します。

外部パッケージのデバッグが有効になっている場合、Visual Studio は NuGet パッケージに含まれる Source Link マッピングを使用して、外部ソース コードをダウンロードしてステップ実行します。 これをテストするには、Xamarin.Forms によって提供されるメソッドの呼び出しにブレークポイントを設定します:

Breakpoint set on Xamarin.Forms method

デバッガー オプションで指定した設定に応じて、Visual Studio によってソース ファイルがダウンロードされていることが警告されます:

Visual Studio external code warning

Visual Studio にファイルのダウンロードを許可すると、デバッガーは外部コードにステップ インします。

Source Link では、パフォーマンスのためにキャッシュが使用されます。 ソース リンクのキャッシュ ディレクトリは、[シンボル] セクションの [デバッグ][オプション] メニューで定義されています:

Visual Studio Source Link caching

このメニューを使用すると、すべてのデバッグ シンボルのキャッシュ ディレクトリを指定できるほか、キャッシュされたシンボルに関する問題が発生した場合はキャッシュをクリアできます。

Source Link では、パフォーマンスのためにキャッシュが使用されます。 MacOS の Source Link のキャッシュ ディレクトリが /Users/<username>/Library/Caches/VisualStudio/8.0/Symbols です。 このフォルダーには、ソース ファイルのダウンロードに使用されるリポジトリを格納するサブフォルダーが含まれています。 NuGet パッケージのバッキング リポジトリが変更された場合は、これらのフォルダーを手動で削除してキャッシュを更新することが必要になる場合があります。