Newsletter Archive
Browse through our collection of past newsletters. Each edition is packed with C# and .NET insights.
Page 11 of 13 (38 editions)
.NET MAUI Community Standup - Run .NET MAUI on Linux with Avalonia
David Ortinau, Gerald Versluis, Tim Miller, and Javier Suarez walk us through community updates, the origin story of Avalonia, Control Gallery, AlohaKit and several MAUI demos.
Windows Package Manager 1.12.460
The Windows Package Manager team ships 1.12.460 with App Installer moving to WinUI 3, manifest v1.12, and first class font support including a winget-font source plus install and uninstall. This post shows how the update smooths dev box setup and scripting with fixes for portable PATH upgrades and several reliability issues.
.NET 8.0.23 / 8.0.123 Release
Announcing the v8.0.123 release tag for .NET 8.0.23, with guidance on cloning the tag to build .NET from source or using the attached source archives. This post emphasizes PGP-signed tarballs and zipballs with a public key for verification, a practical boost for supply chain hygiene.
Recent updates to NetEscapades.EnumGenerators: new APIs and System.Memorysupport
Andrew Lock recaps new capabilities in NetEscapades.EnumGenerators 1.0.0-beta19 and why generated enum helpers can be dramatically faster than the built-in Enum APIs. This post introduces EnumParseOptions to turn off number parsing and control comparison behavior, plus SerializationOptions to emit lower or upper invariant names without extra allocations. It also adds ReadOnlySpan<char> APIs via System.Memory so span-based parsing works on netstandard2.0 and .NET Framework targets.
C# 14 New Feature: Implicit Span Conversions
Ian Griffiths unpacks C# 14’s implicit span conversions in .NET 10 and how they make Span and ReadOnlySpan feel first class. You will see why arrays and strings now flow cleanly into span-based APIs, enabling simpler signatures, better type inference, and extension methods that finally behave the way you expect. He also highlights gotchas with older libraries and offers practical design tips to avoid overload ambiguities.
End-to-End Observability for .NET on Azure: OpenTelemetry, Application Insights, and Azure Monitor
Sudhir Mangla maps the shift from the legacy Application Insights SDK to OpenTelemetry and shows how to get real end-to-end observability for .NET on Azure. This post focuses on why the change matters and gives a practical path with the Azure Monitor OTel distro, the Collector, solid log-trace correlation, and KQL-driven troubleshooting that keeps costs in check.
Don't miss the next tip 💧
Get a .NET tip and curated links delivered to your inbox every week.
Strategy vs Factory in C#: The Confusion That Breaks Real Systems
Ravikumar Makwana explains the real difference between Factory and Strategy in C#, showing how confusing the two leads to brittle code and hidden bugs. Using payment and notification examples, he frames Factory as the choice for what to create and Strategy as the choice for how behavior varies at runtime, then composes them for a clean, testable design. If your code mixes creation and behavior checks, this post offers practical guidelines and sample implementations to simplify things without over-engineering.
Top 10 errors found in C# projects in 2025
A round-up of 10 real-world bugs PVS-Studio caught in 2025 C# projects, surfacing sneaky issues like null coalescing precedence, slippery pattern matching, and LINQ deferred execution with captured variables. This post shows why Equals and GetHashCode drift, why anonymous unsubscription does nothing, and how bit flags can make switch cases unreachable.
Records in C#: The Feature That Quietly Changed How I Write Code
Ravikumar Makwana shows how C# records, as data-first types, tame state bugs through value-based equality, immutability, and the with expression for safe updates. This post highlights where records shine in everyday code like DTOs and value objects, while keeping classes for behavior and identity. It closes with a simple rule of thumb to decide between records and classes.
Windows App SDK 1.8.4 Release (v1.8.260101001)
Microsoft ships Windows App SDK 1.8.4, a stability-focused update that trims the Windows ML DLL and adds playful new TextRewriter tones like Rewrite as Shakespeare and Rewrite in Sci‑fi. The release smooths out real world pain points for WinUI 3 apps, fixing Class not registered errors in self-contained deployments and improving StoragePickers, PublishSingleFile, and incremental builds. If you build Windows desktop apps in C#, this post shows what just got easier and why it matters.
Betatalks, the Podcast Episode #121 - Building Smarter Apps with .NET MAUI and ML.NET - with Anjuli Jhakry
Rick and Oscar chat with Anjuli Jhakry, a .NET MAUI developer and MVP building a startup app for people with food intolerances. She shares lessons from moving from Xamarin.Forms to .NET MAUI, why .NET 8 feels production ready, and how she uses ML.NET to learn from user feedback to deliver personalized recommendations. This podcast also hits on keeping architectures simple and how mentorship and community can accelerate developer growth.
ASP.NET Community Standup - What's next for Orleans?
Join Daniel Roth, Mike Kistler, and Reuben Bond discuss the future of Orleans in the ASP.NET Community Standup.
PostSharp 2026.0 Generally Available: Support for .NET 10, C# 14 and ExtensionBlocks
Gael Fraiteur announces PostSharp 2026.0 with full support for .NET 10 and C# 14, including the new extension blocks syntax. This post explains how aspects now skip extension block members by default and how to opt in with AllowExtensionBlockMembers, plus a helper to detect compiler-generated metadata. If you maintain AOP in mature codebases, you'll see what changed in the framework baselines and what to review before migrating.
.NET and .NET Framework January 2026 Servicing Releases Updates
Rahul Bhandari and Tara Overfield share the January 2026 servicing updates for .NET 10.0.2, 9.0.12 and 8.0.23, all non-security patches with links to runtime, ASP.NET Core, SDK, EF Core, WPF and WinForms changelogs. This post helps you gauge update urgency and zero in on fixes that might touch your stack, and it notes that .NET Framework has no new updates this month.
.NET MAUI 10.0.30 SR3 Release
.NET MAUI 10.0.30 SR3 doubles down on quality and developer experience with 100+ fixes across platforms, addressing navigation hangs, SafeArea quirks, and reliability in CollectionView, ScrollView, SearchBar, and Slider. This post also brings Android Material 3 opt in via a build property, sharper XAML binding behavior, refreshed docs and readmes, and sturdier testing so day to day MAUI work feels smoother.
Windows App SDK 1.7.7 (1.7.251220001)
Announcing the Windows App SDK 1.7.7 stable release, a focused maintenance update that steadies WinUI 3 development and fixes an issue that blocked Image Super Resolution on some devices. This post includes links to the release notes, NuGet, and WinUI Gallery for deeper details that may matter to your C# desktop apps.
Repository Pattern: The Right Way to Free Your Code from the Database
Melisa Akkuş shows how the Repository Pattern frees your business logic from EF Core, Dapper, and SQL by hiding data access behind a simple interface, so your services stop thinking in LINQ. This post goes interface-first, explains why returning IQueryable breaks the abstraction, and shows that swapping implementations often comes down to a DI registration, yielding easier tests and cleaner services.
RunAs Radio Show #1019 – Azure in 2026 with Jeremy Winter
Richard Campbell talks with Azure CPO Jeremy Winter about what Azure is rolling out in 2026, from SRE and resiliency agents to Azure Migrate updates, Kubernetes Fleet, and HorizonDB. The focus is on how Copilot and new automation make .NET apps sturdier, migrations less painful, and multi-cluster ops more manageable, along with the impact of new, more efficient global datacenters. This podcast helps you spot the services that could cut on-call noise and shape a practical 2026 cloud roadmap.
Don't miss the next tip 💧
Get a .NET tip and curated links delivered to your inbox every week.
Choosing a Cross-Platform Strategy for .NET: MAUI vs Uno
J. Tower maps the real tradeoffs in choosing .NET MAUI vs Uno Platform by focusing on what you are optimizing for and the four questions that actually decide the choice: is web a first-class target, how broad your reach needs to be, native feel vs consistent visuals, and how complex your UI is. This post shows where MAUI’s native-control path fits and where Uno’s WebAssembly reach and design-system consistency pay off, plus a simple two-week prototype plan to test the decision on real workflows without months of debate.
Blue Blazes S04E01: Uno Platform – featuring Sam Basu
Jonathan Tower interviews Sam Basu, Microsoft MVP and Lead Developer Advocate at Uno Platform, about the present and future of cross-platform app development in .NET. This podcast explores how a single codebase can target iOS, Android, WebAssembly, Windows, macOS, and Linux with Uno, why its native and Skia rendering paths matter for performance and design consistency, and how it compares to .NET MAUI, React Native, and Flutter.
Factory Pattern in C#
Abhishek Yadav walks through the Factory pattern in C#, using a down to earth notification example and a Simple Factory implemented with a switch expression. This post shows how centralizing object creation reduces coupling, supports the Open Closed Principle, and keeps code easier to test, along with guidance on when to use the pattern and common pitfalls.
Blazor Community Standup - Planning the future of Blazor in .NET 11
Dan Roth, Javier Nelson, and Larry Ewing talk about the future of Blazor! In this video, they walk through the themes and ideas they're considering for .NET 11 and open the floor for your questions, suggestions, and experiences to help guide their next steps.
Modernizing Your Apps | Visual Studio Toolbox
Eriawan Kusumawardhono joins Robert Green on the Visual Studio Toolbox to show us how to use Copilot to modernize existing apps to use the latest technologies.
.NET Web Developer 2026 Roadmap - Brutally Honest Edition
Ed offers his annual .NET web developer roadmap offering his advice on what technologies to learn and which ones to skip. He also covers other topics like the developer job market and his favorite .NET books and YouTube channels. (Though he left out my favorite. 😉)
C# Is TIOBE Language of 2025
Mike James reports C# has been named TIOBE Programming Language of the Year 2025 after the biggest year-over-year gain, even as Python cools from its mid-2025 peak. This post explains what the index does and does not measure, ties the momentum back to Anders Hejlsberg's component-oriented vision for C#, and explores what rising share could mean for hiring and the .NET ecosystem. The takeaway is steady momentum that may push C# past Java soon, with practical implications for teams choosing languages and tooling.
Validation in .NET 10: Native Support for Minimal APIs
Prasad Raveendran walks through native validation for Minimal APIs in .NET 10, bringing them much closer to MVC controllers. This post shows how data annotations plus AddValidation enable a source generated validator that short circuits bad requests with consistent ProblemDetails, trimming boilerplate and keeping handlers focused on business logic. A small addition with a big impact on production readiness.
Fixing OllamaSharp Timeouts in C# (with a Simple Extension and just for fun)
El Bruno ran into 100-second HttpClient timeouts while using OllamaSharp for long-running local model work and traced it to the library's fixed client timeout. In this post he packages the fix as a small extension so you can set timeouts directly on the OllamaSharp client, with quick, standard, and long presets. If you are doing video analysis or lengthy generations, this keeps your runs alive and your code tidy.
Redis Cache Patterns Explained: Cache-Aside vs Read-Through vs Write-Through vs Write-Behind
Baibhav Kumar unpacks Redis caching patterns that shape real production behavior, focusing on who owns the source of truth, who handles failures, and where latency lands. This post contrasts cache-aside, read-through, write-through and write-behind with practical tradeoffs, and includes a C# cache-aside example for .NET apps. A clear guide to choosing the safer default vs when to accept risk for consistency or speed.
Azure SQL Database High Availability: Architecture, Design, and Built-in Resilience
Mohamed Baioumy from Microsoft explains how Azure SQL Database bakes high availability into the platform across General Purpose, Business Critical, and Hyperscale, and what actually happens during failover. This post walks through gateway routing, replica and storage models, and typical recovery times, then ties it back to app design with zone redundancy choices and why your .NET clients still need transient retries. Handy context for matching SLAs to the right tier while keeping ops overhead low.
ToonEncoder - A JSON-Compatible Format Encoder for C# and LLMs
Yoshifumi Kawai unveils ToonEncoder, a C# library that encodes a JSON-compatible TOON format to shrink LLM prompts by packing primitive object arrays into a compact, CSV-like layout. This post shows where TOON pays off in real apps, how to plug it into Microsoft.Extensions.AI with source generated converters using attributes like GenerateToonTabularArrayConverter and GenerateToonSimpleObjectConverter, and why encode only is often all you need for function calls. Expect practical guidance on selectively applying TOON so you save tokens while keeping JSON where it still fits best.
Don't miss the next tip 💧
Get a .NET tip and curated links delivered to your inbox every week.
Repository Pattern vs Direct DbContext Usage in .NET
Yohan Malshika compares direct DbContext usage and the repository pattern in ASP.NET Core with EF Core, showing where each shines. This post lays out definitions, pros and cons, and a small code sample, then frames the decision around project size, domain complexity, and testing needs. You come away knowing when to keep it simple with DbContext and when an extra abstraction can save you pain later.
Everything You Need to Know About List in C#
Gulam Ali H. unpacks List
ASP.NET Core route constraints: A quick guide for developers
Round The Code gives a quick tour of ASP.NET Core route constraints for Minimal APIs, showing how to push validation to the edge with int, bool, Guid, date and string rules, plus regex and file path checks. If your endpoints need to be picky about inputs, this post shows how to make the URL do the heavy lifting.
Why string.Empty and "" Aren't Always the Same Reference in .NET
Jordan Rowles untangles why string.Empty and the empty string literal are usually the same object but can diverge when empty strings are created at runtime. This post demystifies string interning, how it impacts ReferenceEquals checks, memory usage, and debugging, and where String.Intern helps or hurts. Expect clear, practical guidance like preferring string.IsNullOrEmpty for checks and using string.Empty for intent.
The "Mixed Mode Operations" Anti-Pattern in ORMs
Atakan Serbes unpacks the Mixed Mode Operations anti-pattern in ORMs, where bulk SQL updates bypass the change tracker and leave EF Core out of sync with the database. A concise guide for speeding up large updates without breaking the mental model of your Unit of Work.
What Is the EF Core Model DbContext, OnModelCreating, and the Truth About Caching
Melisa demystifies how EF Core builds the IModel on first use, what DbContext actually does, and when OnModelCreating kicks in. This post explains why the model is cached and shared across DbContext instances, using a helpful blueprint vs worker analogy to make performance implications clear. Expect practical guidance on shaping the model with Fluent API and global filters without wasting cycles rebuilding metadata.