- Loading...
Sponsored by Dometrain Courses—Get 30% off Dometrain Pro with code ANDREW30 and access the best courses for .NET Developers

My new book ASP.NET Core in Action, Third Edition is available now! It supports .NET 7.0, and is available as an eBook or paperback.

Exploring the (underwhelming) System.Diagnostics.Metrics source generators
System.Diagnostics.Metrics APIs - Part 2
In this post I explore the source generators shipped in Microsoft.Extensions.Telemetry.Abstractions, explore the code, and discuss whether I would use them…

Creating and consuming metrics with System.Diagnostics.Metrics APIs
System.Diagnostics.Metrics APIs - Part 1
In this post I provide an introduction to the System.Diagnostics.Metrics API, and show how to create a custom metric and read it with dotnet-counters…

Making foreach on an IEnumerable allocation-free using reflection and dynamic methods
In this post I describe why foreach sometimes allocates, and show how you can use DynamicMethod and Reflection.Emit to go allocation-free…

The Windows File Explorer replacement, File Pilot, is awesome
In this post I describe my experience with the Windows File Explorer replacement, File Pilot. It's blazingly fast, feature rich, and has hotkeys everywhere…
in Tools
Recent updates to NetEscapades.EnumGenerators: new APIs and System.Memory support
In this post I describe some recent changes to the NetEscapades.EnumGenerators source generator, including support for the System.Memory package and new APIs…

Creating a .NET CLR profiler using C# and NativeAOT with Silhouette
In this post I look at how to create a simple .NET profiler. But instead of using C++, the profiler uses C# and NativeAOT with the Silhouette library…

