7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

SourceGeneratorのデバッグ

Last updated at Posted at 2021-04-18

概要

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

7
2
1

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
  3. You can use dark theme
What you can do with signing up
7
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?