Tools
news

25stories

Stories

.NET 11 images
Pick a base image

Choosing a .NET Base Image: Chiseled, Distroless or Alpine

Distroless, Chiseled and Alpine are often treated as interchangeable, but they differ in C library and runtime model. This guide explains how to pick a .NET base image by libc, globalization, publish model and diagnostics before image size. It matters for anyone shipping containers, since a smaller image that breaks native libraries or culture formatting is incompatible rather than optimized.

.NET regresyon
Row-level diffs
DVDEV Community: #csharp Youssef Bouha Oct 26

Comparing two million-object lists for regression testing with Xero.DataComparer

Xero.DataComparer is a small, dependency-free .NET library for non-regression testing of pricing and risk engines. Instead of a boolean verdict, it reports which rows differ, on which properties, and which rows are missing on either side. The author says it compares two lists of one million objects in about 0.7 seconds, and explains the design choices behind that speed.

Mockly
Fluent HTTP mocks
DDDennis Doomen Dennis Doomen Oct 26

Mockly: fluent HTTP mocking for .NET tests that call HttpClient

Dennis Doomen released Mockly, an open-source library that makes testing code which calls HttpClient much simpler. It replaces hand-written HttpMessageHandler subclasses and fragile Moq setups on the protected SendAsync method. Its main strength is that failure paths such as retries, timeouts, 401 refreshes and 429 throttling can be simulated in a line or two, and unmatched requests produce a clear explanation.

xUnit · Claude Code
Do generated tests prove it?

How to Review Claude-Generated .NET Tests for Real Regression Coverage

Claude-generated .NET tests can look complete and still miss the regression they are meant to catch. The author walks through tracing assertions back to their inputs, checking mock boundaries, and verifying that a test fails for the intended reason. It is a practical review checklist for anyone accepting agent-written tests into a C# codebase.

PostSharp 2027.0
Typed aspect advices
PMMetalama / PostSharp Blog Gaël Fraiteur Oct 23

PostSharp 2027.0 advice parameter binding removes boxing and allocations from aspects

PostSharp 2027.0 makes advice parameter binding public: aspect advices receive typed parameters instead of a MethodExecutionArgs object. That removes per-call heap allocations, boxing and casts on hot paths. Bindings are checked at build time, so mismatches fail the build rather than production.

dotnetup preview
Manage SDKs without admin
IQInfoQ .NET Almir Vuk Oct 21

Microsoft Previews dotnetup, a Toolchain Manager for .NET SDKs and Runtimes

Microsoft has released a public preview of dotnetup, a cross-platform tool that installs and updates .NET SDKs and runtimes in the user's own directory without admin rights. It follows channels such as latest, lts and preview, reads global.json, and cleans up unused installs. Commands may still change before general availability.

SDK Containers
Images without Dockerfile
BABenjamin Abt BEN ABT Oct 20

Containerizing .NET in 2026 Without a Dockerfile

Benjamin Abt explains how the .NET SDK's PublishContainer target can build an OCI image for ASP.NET Core services without a Dockerfile and deliver it to a registry, an archive or a local runtime. The article offers a practical rule for when SDK publishing fits and when a Dockerfile still makes sense.

Claude Code
C# in Claude Code

C# Code Intelligence in Claude Code: Setup and Limits

Nick Cosentino explains how to set up C# code intelligence in Claude Code through the csharp-lsp plugin and where that setup stops being reliable. The article separates the language server, the plugin and the workspace as three layers to verify, and it clarifies what diagnostics and symbol navigation can and cannot prove. It is a practical checklist for .NET developers using Claude Code on C# repositories.

NAudio 3.3.0
Simpler Windows targets

NAudio 3.3.0 Simplifies Windows-Only Target Frameworks in the Meta-Package

NAudio 3.3.0 preview moves the meta-package to a single net9.0 target and marks Windows-only APIs with [SupportedOSPlatform] instead of a -windows TFM. The library is also fully annotated for nullable reference types. Developers targeting plain netX.0 should know the new package layout and the CA1416 warnings it can produce.

Feedback

Found a bug or have an idea? Your message lands straight in my inbox.

Type of message