Metalama 2025.0 is now generally available! This release supports C# 13 and .NET 9, adds significant enhancements to the aspect framework, and boosts performance substantially.
Alongside Metalama 2025.0, we’re announcing the general availability of PostSharp 2025.0. This release focuses on supporting C# 13 and .NET 9 while also including improvements like long path support for .NET Framework projects, runtime performance enhancements for WeakEventHandler, and a better debugging experience for projects using Windows PDB.
This article will explore how to trace method calls in a .NET Aspire app without boilerplate code using Metalama. It uses a base example of a to-do list app with an ASP.NET Core Minimal API backend and a Blazor front-end, orchestrated using .NET Aspire. During the article, we’ll demonstrate how to log all public methods of the app using the [Log] aspect with a special kind of class called a fab...
Aspect-oriented programming (AOP) was invented in the early 2000s and enjoyed a few years of hype. Althought it has been implemented in many languages, it seems to have faded in the background. Even Metalama, the most comprehensive AOP framework for .NET, does not primarily market itself as an AOP framework. What ever happened to AOP, and what is its status in the .NET world today?
Factories are methods or objects whose only role is to create other objects. The Factory Method and Abstract Factory patterns are two creational design patterns originally identified in the seminal “Gang of Four” Design Patterns book. They are still crucial today in .NET. This article explains, with concrete examples, when to use this pattern in modern C# applications and how to make sure that ...