.NETPro #39: .NET Support Deadlines, New Microsoft Tools, SkiaSharp 4.0, HttpClient Guide, and More...
🌏 Actionable .NET tips, the latest updates, and community insights, all in one place
Social engineering is about manipulating people's emotions. Identify the susceptibilities that hackers use to exploit people.
This NINJIO Insights Report dives into the key emotional susceptibilities that make social engineering work and offers concrete steps that your security team can take to equip your workforce to resist cyberattacks.
"If it ain't broke, don't fix it" is good advice, until support runs out. .NET 8 and .NET 9 are both working fine right now, but both lose support on November 10, 2026. That alone makes this issue worth a closer look. Microsoft shipped a Binlog MCP Server that lets AI assistants dig through your build logs conversationally, AutoGen and Semantic Kernel are now officially one SDK under Microsoft Agent Framework 1.0, and the new WinApp CLI cuts down the package identity hassle for unpackaged .NET apps. SkiaSharp also hit its first stable v4 release with real performance gains worth knowing about.
For hands-on this issue, the spotlight is a complete guide to HttpClient, covering everything from the three antipatterns that quietly break production apps to typed clients, resilience pipelines, and HTTP/3.
The experts section covers two takes on legacy modernization, one built around GitHub Copilot handling the migration workflow and the other on moving the database first. Andrew Lock continues his .NET 11 preview series with a look at StringBuilder.MoveChunks(), and there’s a solid breakdown of everything else that landed in Preview 5 if you’re trying to figure out when to start planning your own move.
Take a look at today’s highlights first:
➡️ .NET 8/9 support ends Nov 10, 2026
➡️ Debug builds with the Binlog MCP Server
➡️ Meet Microsoft Agent Framework 1.0
➡️ Upgrade to SkiaSharp 4.0 stable
➡️ Modernize legacy apps with GitHub Copilot
➡️ Migrate the database first
➡️ Skip the string-building overhead with Andrew Lock
Keep reading, and when you’re done, drop us a note about what you enjoyed and how we can make the next edition more helpful.
Cheers!
Roshan Ravi Kumar
Editor-in-Chief
📰 What’s Happening in .NET!
The latest .NET breakthroughs are here. Haven’t explored them yet? Dive in now!
➡️ WinApp CLI fixes Windows package identity in two commands: Package identity has always been the annoying gatekeeper between unpackaged .NET apps and Windows features like push notifications, background tasks, and the new AI APIs. Microsoft’s new WinApp CLI cuts through most of that friction with a couple of commands. You’ll see how
winapp initsets up your project, howdotnet runthen launches it with full identity for local testing, and howwinapp packturns it into a signed MSIX when you’re ready to ship.➡️ SkiaSharp 4.0 is finally stable: SkiaSharp 4.148.0 brings a current Skia engine, variable fonts, animated WebP, and a much cleaner API, plus a fix for a use after free crash tied to garbage collection timing on native singletons. GPU-heavy UI work like shadows and layered cards renders up to 24% faster than the last stable release, with zero regressions elsewhere.
➡️ .NET 8/9 support ends Nov 10, 2026: If you’re still on .NET 8 or .NET 9, mark the date. Both versions go out of support on the same day, November 10, 2026, and after that there are no more security patches or technical support, though your apps will keep running just fine. The move Microsoft wants you to make is to .NET 10, an LTS release good through November 2028, and it’s just a TargetFramework change in your project file.
➡️ Microsoft's new MCP Server lets AI look into your MSBuild Logs: If you've ever spent way too long staring at a
.binlogfile trying to figure out why your build broke, this one's for you. Microsoft has released a Binlog MCP Server that gives AI assistants like GitHub Copilot direct access to your binary logs, so you can just ask "why did my build fail?" and let it do the digging. It's still in preview and you'll need Copilot running in agent mode, but the setup is pretty straightforward if you're already in that workflow.➡️ AutoGen + Semantic Kernel = One SDK to rule them all: Microsoft merged AutoGen and Semantic Kernel into a single SDK called Microsoft Agent Framework 1.0. Both are now in maintenance mode, and this guide walks through what the new SDK actually looks like, how to migrate, and when LangGraph or CrewAI is still the better pick.
⏱️ Time for Some Hands-On .NET
Don’t miss this edition’s spotlight guide!
🛠️ HttpClient in C#: The Complete Guide
If you’ve ever had a .NET app randomly fall over in production after talking to an external API, HttpClient misuse is probably somewhere in the story. Socket exhaustion, stale DNS, timeouts that only show up under load — these aren’t obvious mistakes, they’re the kind of thing that works fine on your machine and breaks quietly in prod.
This guide walks through all of it, from how HttpClient actually works under the hood to the three antipatterns that catch most developers out, then on to IHttpClientFactory, typed clients, resilience pipelines, streaming, and HTTP/3. There’s a production-ready example at the end you can actually use.
Read the full guide if you want something worth bookmarking for the next time this comes up.
Why it’s worth exploring
Most developers know not to create a new HttpClient per request, but fewer know why the static singleton is also a problem, or what PooledConnectionLifetime is even doing. This one explains the mechanics rather than just handing you rules to copy.
What you need before diving in
A .NET project or recent .NET experience
Basic familiarity with dependency injection in ASP.NET Core
Microsoft.Extensions.HttpandMicrosoft.Extensions.Http.Resiliencefor the resilience examples
✒️ Got a Minute?
Tell us what you loved, what you want more of, and how we can make .NETPro even better in 2026. This quick 1-minute survey helps shape future issues around what matters most to you.
🧑🏼💻 What .NET Experts Are Talking About
Inside the minds of .NET pros: Real-world experience, real insights!
➡️ .NET migration just got easier: Migrating a legacy .NET Framework app is the kind of project that sits on the backlog for months because nobody wants to touch it. In this video from the .NET team, you'll see how GitHub Copilot handles the assess, plan, and execute phases of a real migration, cutting down the manual work that usually makes these projects take time. You'll learn practical strategies you can take back to your team, whether you're jumping from .NET Framework or just chasing the latest runtime.
➡️ Migrate the database first, modernize the app around it: Modernizing a line-of-business app gets complicated fast when the database is tightly coupled to everything else, and most teams don't have the runway for a full rewrite. In this video, you'll see how to move incrementally, starting with the database, without the usual cloud migration chaos.
➡️ Skip the
ToString() tax withStringBuilder.MoveChunks: Back in Issue #36 we talked about Andrew Lock's first two posts on the .NET 11 previews, and he's kept the series going. Part 3 looks at the newMoveChunks()API in .NET 11 preview 5, and if you've ever winced at theToString()allocation after building up a big string in a StringBuilder, this one's for you. You'll learn how the API moves internal chunks to a new instance without copying data, why Roslyn source generators are the real motivation behind it, and how it differs from just callingClear().➡️ NET 11 Preview 5 observations: This article covers what changed across C#, the SDK, runtime, Blazor, and MAUI. You'll see why union types in C# 15 are a bigger deal than they sound, what the async performance numbers actually look like, and what MAUI teams need to know before November.
👋 Advertise With Us
Interested in sponsoring this newsletter and reaching a highly engaged audience of tech professionals? Take a look at our sponsorship page to explore available options. If it’s a good fit, contact ruvikar@packt.com to get started with the next steps.
And That’s a Wrap 🎬
Thanks for diving in. I hope this issue sparked an idea or two that could help fuel your next big project.
Got a minute? We’d love your feedback. Just take this quick 1-minute survey to help us improve future editions.
Keep learning, keep building, and we’ll see you next time!



