[Last Week in .NET #81] – Happy Birthday, .NET

Happy Birthday .NET! You’ve turned 20. πŸŽ‚

In honor of your birthday, let’s talk about you for a minute, and all you’ve brought into this world.

You’ve had a bit of a shaky life, but no one can doubt the impact you’ve had.

As a baby, you saved us from COM+ and MFC. You gave desktop programmers the opportunity to write for the Web without having to understand how the Web worked. And you may not realize this, but you saved millions from the horror that is the Java and Oracle union.

As you reached school age, it became clear the world was changing around you. No one seemed to care about your past accomplishments, they just saw this lanky kid who couldn’t spell ‘maintainable’. It’s understandable, you were born in a different age. But with the help of Phil Haack and your uncle “Gu”, you tried to adapt, and adapt you did! Suddenly other web development frameworks didn’t immediately laugh when you entered the room, and their chuckling died when they saw how well you performed, and for a while, that was good enough. But very quickly, the world changed again, and open source took the world by storm. You wanted to hang out with the cool kids, and the blue shirt started getting you noticed for all the wrong reasons.

And so you embraced open source. Well, blue-flavored open source. That was a significant accomplishment, followed closely by your adoption by your Godparent: The .NET Foundation. Soon, though, you reached high school, and you weren’t prepared for the fact that Java was everywhere, JavaScript was what all the cool kids were doing, and you were still wearing Windows Containers while everyone else was talking about that new band, The Cloud.

It was an embarassing time for you, but you handled it with grace and aplomb — well, at least as much as any teenager can. You started blasting punk rock and told your parents you weren’t going to dress the way they made you any more! No more .csproj for you, just xproj from now on. With the X standing for both eXtreme and Cross-platform. You rebel. But, your parents still had a ton of money and didn’t like your back talk — not to mention they paid for your schooling, so you pretty quickly went back to their money and their rules. But along the way they relented a little bit, and your friends MSBuild and Powershell were allowed to come along for the ride to Core land as well. Once you jumped on the train to Core land, everything took off. Suddenly you were the A Student, beating out your peers in both portability and performance, but still lagging behind in art and visual design. That’s OK, you can’t be the best at everything. Your friends had cooler cars, but you have it where it counts: You have important parents and a just good enough pedigree to be accepted everywhere. Oh, your Godfather is still around, and if we’re being honest he’s the reason you are who you are today. Your parents are still a bit controlling, of course, but they see what you’ve become and are proud of you.

I’m proud of you. You may have been a late bloomer, but you’re well on your way to being a fine adult. Keep up the good work, and try not to become too much like your parents, they were raised in a different age, where corporate synergy was more important than platform compatibility.

With that aside, let’s get into what happened Last Week in .NET.

Bunifu (Bun-If-You? Boon-i-foo? Bun i-foo?) Framework shows off their tabbled layout UI controls. I hear the world ‘controls’ and I shudder, but Bunifu does a good job of showing what a… modern Desktop UI client looks like. 😎

Mads Kristensen has an extension that shows off CSS Colors when you’re looking at CSS in Visual Studio wait, doesn’t this already happen? 🌈

.NET 6.0.2 is out and it looks to be an update that includes a MAUI preview, and a fix for CVE-2022-21986, which apparently affects Kestrel and HTTP/2 and HTTP/3 requests. πŸ†™

.NET 5.0.14 is out and it resolves the same CVE. β™Š

!! removed 15,000 lines of code that were null checks. “Bang Bang” is how it’s pronounced, as in “you’re dead to me if you use null checks now”. πŸ”«

If you’re getting a “the located assembly’s manifest definition does not match” error on .NET 6.0.2, then you’re not alone. The advice is to wait, but there is a workaround. πŸ™€

Nick Craver tweetstorms about CancellationTokens and why you may not just want to shove the same one everywhere. ❌

And that’s it for what happened Last Week in .NET. Happy Birthday, and I’ll talk to you next week.

Leave a Reply