using System.Text; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.Text; namespace MySourceGenerator { [Generator] public class MySourceGenerator : ISourceGenerator { public void Execute(GeneratorExecutionContext context) { var template = context.AdditionalFiles.Where(static file => file.Path.EndsWith("HelloWorld.template.cs")).First().GetText()?.ToString(); if (template == null) { return; } context.AddSource("HelleWorld.generated", SourceText.From(template, Encoding.UTF8)); } public void Initialize(GeneratorInitializationContext context) { } } }