I work as a programmer, primarily with .NET - and I generally get along just fine.
My kid, though, is just learning programming - and that means writing games. He has done some stuff in Scratch, but his ideas are complicated enough that he's better off moving on from that. He did an online course with Python, and we started writing a text-y game with that - but he really (and naturally) wanted proper graphics. I couldn't immediately figure out how to get an image library working with the goofy install they'd done, so I figured "Hey, I can just get him going in .NET" - that'll be easy to support him with.
Writing a simple 2d game in .NET is a bizarre mess.
From past experience I knew using the built-in forms/GDI would be slow (performance wise) and unpleasant, so I figured I'd find out what MS recommended now. I searched.. and I don't know. There's like 10 generations of half-realized/extinct crap: DirectX.NET and XNA and at least a couple more, all with half-functional zombie documentation, dead links, and instructions that no longer work. There's a bunch of MS articles pointing you towards libraries that died long ago (SlimDX, SharpDX) and otherwise suggesting approaches that are broke.
Or they suggest you use very heavy-weight libraries - things like Unity or Monogame - that have a whole network of other challenges to pick up, and/or require a ton of boiler-plate code/external tools to get going. These tools are probably great - but the point of this is to learn programming, not to learn how to use a bunch of resource editors.
Eventually I found Win2d, which is so far "not insane"... like, you can load and draw an image to your form without a ton of code, without external tools, and without having to pay to remove a splash screen. But even Win2d has a bunch of baggage that makes it awkward for a new programmer. Like, it works with "Universal Windows Platform", which means a bit of config to get going and is generally odd. You have to edit XML to place your form on the page (which I'm OK with, but is pretty imposing when you're starting out). You have to use special URIs (rather than just hardcoding a path) to get to your assets, since you don't seem to have permission on the regular file system. There's a bunch of methods that are async only, which makes for some very intimidating looking await patterns when you're just starting out.
Like, I can get a project going for him to work with, but it's all been way harder than it should be.
MS should put a simple graphics/sound library in .NET: something that's easy to consume using straightforward, self-contained, procedural code. Ideally, you could compile it to a self-contained EXE, a web page, or an Android app.
Doing that would capture a ton of interest from kids looking to program - and I feel like MS used to understand this (back in GORILLA.BAS days).