LoginSignup
2

More than 1 year has passed since last update.

posted at

updated at

SourceGeneratorのデバッグ

概要

Visual Studio 2019 バージョン 16.10 preview 2の新機能でSourceGeneratorのデバッガーサポートが追加されました。
デバッグに難があったので朗報ですね。

方法

ソース ジェネレーターのデバッガー サポートが追加されました。 まず、[Project Properties Debug](プロジェクト プロパティのデバッグ) ページで、"Roslyn コンポーネント" デバッガー オプションを有効にする必要があります。 そして、適切なターゲット プロジェクトを選択する必要があります。 次に、ジェネレーター プロジェクトで F5 キーを押します。これにより、ターゲット プロジェクトをビルドする CSC.exe/VBC.exe が開始され、ジェネレーター コードをデバッグできるようになります。

プロジェクトのプロパティを開いてもデバッガーオプションには見当たりません。
そこでSourceGeneratorのプロジェクトファイルを編集して<IsRoslynComponent>true</IsRoslynComponent>を加えます。

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>library</OutputType>
        <TargetFramework>netstandard2.0</TargetFramework>
        <IsRoslynComponent>true</IsRoslynComponent>
    </PropertyGroup>
</Project>

改めてプロジェクトファイルのプロパティを開くと、デバッグページから無事にRoslyn Componentが選択できるようになります。

srcgen.png

あとはリリースノート通りにターゲットプロジェクトを指定するだけですね。
ターゲットプロジェクトからのSourceGeneratorプロジェクトの参照に<OutputItemType>Analyzer</OutputItemType>がないと選択できないので注意しましょう。

参考

https://github.com/dotnet/roslyn-sdk/pull/726

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
2