Why can I not create any class in a custom content Pipeline?

Hello. I’m trying to create a minimal example of a custom content pipeline extension. I’ve started with

dotnet new mgpipeline

I then created a single file containing the following:

using Microsoft.Xna.Framework.Content.Pipeline;

namespace Example{

[ContentImporter(".lua", DisplayName = "LuaImporter", DefaultProcessor = "LuaProcessor")]
public class LuaImporter : ContentImporter<string>
{
    public override string Import(string filename, ContentImporterContext context)
    {
        return filename;
    }
}

[ContentProcessor(DisplayName = "LuaProcessor")]
class LuaProcessor : ContentProcessor<string, string>
{
    public override string Process(string input, ContentProcessorContext context)
    {
        return input;
    }
}

}

This is a minimal working example. I built the project, and referenced the .dll in my .mgcb file. Correctly, I can now build “.lua” files.

However, if I just include a single line

using Microsoft.Xna.Framework.Content.Pipeline;

namespace Example{

struct A{} // <----- The problematic line

[ContentImporter(".lua", DisplayName = "LuaImporter", DefaultProcessor = "LuaProcessor")]
public class LuaImporter : ContentImporter<string>
{
    public override string Import(string filename, ContentImporterContext context)
    {
        return filename;
    }
}

[ContentProcessor(DisplayName = "LuaProcessor")]
class LuaProcessor : ContentProcessor<string, string>
{
    public override string Process(string input, ContentProcessorContext context)
    {
        return input;
    }
}

}

It simply fails to work.

MGCB Editor will say “Invalid / Missing Processor” and “Invalid / Missing Importer”.

I do not understand how defining a single struct can cause this? Am I supposed to link something else? What is going on?