xUnit.v3 4.0.0 released
Steven Gieselby Steven Giesel7d ago
xUnit.v3 got a new major release. This blog post is more about the consequences of that for your local build and CI/CD pipelines than about the new features.
steven-giesel.comadded August 2026
Steven Gieselby Steven Giesel7d ago
xUnit.v3 got a new major release. This blog post is more about the consequences of that for your local build and CI/CD pipelines than about the new features.
Steven Gieselby Steven Giesel23d ago
As always my yearly take on the latest .NET release. In a few months dotnet 11 will be released and I wanted to have a look into some performance metrics.
Steven Gieselby Steven Giesel1 Jul 2026
LinkedIn: The "professional" network where critical thinking takes a backseat and everyone is an expert in everything.
Steven Gieselby Steven Giesel8 Jun 2026
If you use AsSplitQuery anywhere in your codebase, EF Core 11 has a present for you: your queries get faster. By default, EF Core loads everything in one query.
Steven Gieselby Steven Giesel18 May 2026
.NET has had DeflateStream, GZipStream, ZLibStream, and BrotliStream for a while now. In .NET 11, a new one joins the party: ZstandardStream. And now we get to say "Zstd" in .NET.
Steven Gieselby Steven Giesel10 May 2026
Here's a bug that lived in .NET for over four years As in: Reported over 4 years ago. If your BackgroundService threw an exception after its first await, your host would catch it, log a critical...
Steven Gieselby Steven Giesel26 Apr 2026
Microsoft.Extensions.Configuration has had ConfigurationKeyNameAttribute since .NET 6 which it lets you rename the key a property maps to.
Steven Gieselby Steven Giesel6 Apr 2026
Some time ago (over 4.5 years ago!) I wrote a blog post titled: "A better enumeration - Type safe from start to end". While cool and so - it had some issues. Let's tackle them!
Steven Gieselby Steven Giesel6 Mar 2026
We have Join. We have LeftJoin. We have RightJoin. But somehow we still don't have a proper full outer join in LINQ. That might come soon!
Steven Gieselby Steven Giesel23 Feb 2026
Sometimes doing arbitrary stuff feels just good! So let's do that! Spoiler alert and disclaimer: This blog post will generate 0 value in your life.
Steven Gieselby Steven Giesel15 Feb 2026
Some time back I wrote about "async2 - The .NET Runtime Async experiment concludes" basically moving the async state machine into the runtime.
Steven Gieselby Steven Giesel25 Jan 2026
I came across a recent thing, where I hit the limit with the "normal" approach of modeling my entity and had to resort to extension methods.
Steven Gieselby Steven Giesel12 Jan 2026
There is a nice proposal which would make collection expressions a bit better - Giving the users the ability to pass in arguments to the creation.
Steven Gieselby Steven Giesel5 Jan 2026
Let's start the new year with a bang: I created a new tool called "Toolbox" to offer some helpful tools for your everyday .NET life. Totally free, open-source and everything client-side!
Steven Gieselby Steven Giesel28 Dec 2025
Task.Delay fails if you wait longer than 49.7 days. So something like: await Task.Delay(TimeSpan.FromDays(50)); will fail. But why and should you care?
Steven Gieselby Steven Giesel9 Dec 2025
I saw mutliple places where people use GitHub runners to do some benchmarking. That can be a tricky thing to do.
Steven Gieselby Steven Giesel3 Nov 2025
Many benchmarks that are using ArrayPool, or more specificly ArryPool<T>.Shared, are not actually measuring a "real" scenarion or the benchmark is flawed in some way.
Steven Giesel27 Oct 2025
You need some advice around Random? Sure there is something on LinkedIn for that. Let's have a look.
Steven Gieselby Steven Giesel20 Oct 2025
In this - somewhat technical and barely usable - blog post, we will have a look at inlining and structs in C#. And how they can optimize performance in some interesting ways.
Steven Gieselby Steven Giesel6 Oct 2025
This is a very small blog post on why you should use CancellationTokens in your API. It is not only about your code Imagine we have a long running SQL Query like the following: SELECT COUNT_BIG(*)...