Razorをコンパイルしたときの中間ファイルを出力する

Razorは、C#のソースコードに展開されて、そのC#がコンパイルされる。

そのため、Razorのコンパイルエラーは、Razorのパースエラーと、C#のエラーの両方があり得る。

たまに、Razorの気持ちが分からなくて、どういうC#のコードに展開されているのか確認したいときがあるが、ASP.NET Coreではオンメモリで処理されるので、そういうときは ファイルに書き出すオプションを有効化する必要がある。

<PropertyGroup>
  <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
</PropertyGroup>

すると、ビルドしたときに obj/Debug/<sdk-version>/generated/Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator/ に保存される。


You'll only receive email when they publish something new.

More from iwate
All posts