Escribir generador de código personalizado para Dotnet Core

Estoy tratando de escribir un generador de código personalizado para dotnet core, pero hasta ahora he tenido poco éxito con la documentación limitada que lo rodea.

Metí un poco el código fuente de CodeGeneration, descubrí cómo activar los generadores desde la línea de comandos y cómo funciona internamente.

Como los generadores disponibles dentro de dotnet core no satisfarían mis necesidades, intenté escribir mi propio CodeGenerator, pero no parece ser capaz de invocarlo a través del comando "dotnet aspnet-codegenerator". A continuación se muestra mi generador de código personalizado (actualmente no tiene implementación; mi objetivo es poder activar esto desde dotnet cli y terminar con la excepción),

namespace TestWebApp.CodeGenerator
{
    [Alias("test")]
    public class TestCodeGenerator : ICodeGenerator
    {
        public async Task GenerateCode(TestCodeGeneratorModel model)
        {
            await Task.CompletedTask;

            throw new NotImplementedException();
        }
    }

    public class TestCodeGeneratorModel
    {
        [Option(Name = "controllerName", ShortName = "name", Description = "Name of the controller")]
        public string ControllerName { get; set; }

        [Option(Name = "readWriteActions", ShortName = "actions", Description = "Specify this switch to generate Controller with read/write actions when a Model class is not used")]
        public bool GenerateReadWriteActions { get; set; }
    }
}

A continuación se muestra cómo intento invocar el generador de código,

dotnet aspnet-codegenerator -p . TestCodeGenerator TestController -m TestWebApp.Models.TestModel

o

dotnet aspnet-codegenerator -p . test TestController -m TestWebApp.Models.TestModel

Sin embargo, esto no parece funcionar y se queja de no poder localizar el generador de código personalizado. Ver mensaje de error a continuación,

Finding the generator 'TestCodeGenerator'...
No code generators found with the name 'TestCodeGenerator'
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGeneratorsLocator.GetCodeGenerator(String codeGeneratorName)
   at Microsoft.VisualStudio.Web.CodeGeneration.CodeGenCommand.Execute(String[] args)
RunTime 00:00:06.23

¿Qué es lo que me falta o qué cambios debo hacer para que CogeGenerator recoja mi clase personalizada?

Repro:Github

Respuestas a la pregunta(1)

Su respuesta a la pregunta