やり方
SourceGenerator
で生成したコードが含まれる側の.csproj
に対して(SourceGenerator
のコードが含まれる.csproj
でないので注意)、EmitCompilerGeneratedFiles
・CompilerGeneratedFilesOutputPath
を記述します。
EmitCompilerGeneratedFiles
: ファイルを出力するかどうかCompilerGeneratedFilesOutputPath
: 出力先のフォルダへのパス
<PropertyGroup> <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> <CompilerGeneratedFilesOutputPath>Generated</CompilerGeneratedFilesOutputPath> </PropertyGroup>
上記の例でdotnet build
を実行すると、.csproj
と同じ階層にGenerated
というフォルダが生成され、生成されたコードが含まれるようになります。
# 一部抜粋 ├── SourceGenerators.Sample ├── Generated │ └── SourceGenerators │ ├── SourceGenerators.Hoge │ └── Hoge.Generated.cs ├── SourceGenerators.Sample.csproj