Building a middleware pipeline with WebApplication: Exploring .NET 6 - Part 4
This is the fourth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the code...
View ArticleSupporting EF Core migrations with WebApplicationBuilder: Exploring .NET 6 -...
This is the fifth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the code...
View ArticleSupporting integration tests with WebApplicationFactory in .NET 6: Exploring...
This is the sixth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the code...
View ArticleAnalyzers for ASP.NET Core in .NET 6: Exploring .NET 6 - Part 7
This is the seventh post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the...
View ArticleImproving logging performance with source generators: Exploring .NET 6 - Part 8
This is the eighth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the code...
View ArticleSource generator updates: incremental generators: Exploring .NET 6 - Part 9
This is the ninth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the code...
View ArticleNew dependency injection features in .NET 6: Exploring .NET 6 - Part 10
This is the tenth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the code...
View Article[CallerArgumentExpression] and throw helpers: Exploring .NET 6 - Part 11
This is the eleventh post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the...
View ArticleUpgrading a .NET 5 "Startup-based" app to .NET 6: Exploring .NET 6 - Part 12
This is the twelfth post in the series: Exploring .NET 6. Part 1 - Looking inside ConfigurationManager in .NET 6 Part 2 - Comparing WebApplicationBuilder to the Generic Host Part 3 - Exploring the...
View ArticleCreating an incremental generator: Creating a source generator - Part 1
This is the first post in the series: Creating a source generator. Part 1 - Creating an incremental generator (this post) Part 2 - Testing an incremental generator with snapshot testing Part 3 -...
View ArticleTesting an incremental generator with snapshot testing: Creating a source...
This is the second post in the series: Creating a source generator. Part 1 - Creating an incremental generator Part 2 - Testing an incremental generator with snapshot testing (this post) Part 3 -...
View ArticleIntegration testing and NuGet packaging: Creating a source generator - Part 3
This is the third post in the series: Creating a source generator. Part 1 - Creating an incremental generator Part 2 - Testing an incremental generator with snapshot testing Part 3 - Integration...
View ArticleCustomising generated code with marker attributes: Creating a source...
This is the fourth post in the series: Creating a source generator. Part 1 - Creating an incremental generator Part 2 - Testing an incremental generator with snapshot testing Part 3 - Integration...
View ArticleFinding a type declaration's namespace and type hierarchy: Creating a source...
This is the fifth post in the series: Creating a source generator. Part 1 - Creating an incremental generator Part 2 - Testing an incremental generator with snapshot testing Part 3 - Integration...
View ArticleSaving source generator output in source control: Creating a source generator...
This is the sixth post in the series: Creating a source generator. Part 1 - Creating an incremental generator Part 2 - Testing an incremental generator with snapshot testing Part 3 - Integration...
View ArticleRewriting git history simply with git-filter-repo
In this post I describe how I used git-filter-repo to rewrite the history of a git repository to move files into a subfolder. Background: rewriting git history As a git user, I like to Rebase. I like...
View ArticleReducing the size of a git repository with git-replace
In this post I look at how you can split a repository in two, creating a "history" repository, and a current repository, while retaining the ability to temporarily merge them again when required. This...
View ArticleUnderstanding PathBase in ASP.NET Core
In this post I'll describe a lesser-known property on HttpRequest called PathBase. I describe what it does, when it's useful, and how to use it. What is PathBase? PathBase is a property on the...
View ArticleUsing PathBase with .NET 6's WebApplicationBuilder
In this post I describe the difficulties of adding calls to UsePathBase with .NET 6 WebApplication programs, and describe two approaches to work around it. Recap: UsePathBase() and routing In my...
View ArticleA brief introduction to DiagnosticSource
In this post I talk a little about the DiagnosticSource infrastructure, how it compares to the other logging infrastructure in ASP.NET Core, and give a brief example of how to use it to listen to...
View Article