Create a colored CLI with System.CommandLine and Spectre 🎨

#364 – May 23, 2021

sponsor

10 Blazor Features You Probably Didn't Know

Combining MVC + Blazor in the same project? Add Blazor to your existing project without the need to rewrite the entire app. That's one out of the many benefits of Blazor. To shine light on some more of Blazor's overlooked features, we prepared a blog post to show what makes Blazor a worthy contender as the basis for your next web or desktop app. Read on!

this week's favorite

Create a colored CLI with System.CommandLine and Spectre 🎨

No matter how fancy desktop, web, and mobile applications get, we will always need command-line interfaces (CLI). We already blogged about how you can build a CLI here: Building a command-line tool with progress bar in .NET Core. Since writing that post we have introduced the elmah.io CLI where we use a different range of NuGet packages that I want to introduce you to in this post.

ASP.NET Core Blazor Component Virtualization in .NET 5

Virtualization is a technique that helps you to process and render only the items that are currently visible on the page (in the content viewport). We can use this technique when dealing with large amounts of data, where processing all the data and displaying the result will take time.

Problem Details for better REST HTTP API errors

How do you tell your API Consumers explicitly if there are errors or problems with their request? Everyone creating HTTP APIs seems to implement error responses differently. Wouldn’t it be great if HTTP API Errors had a standard? Well, there is!

Using async and await in C#

Async and Await are important keywords in C#. In this post, we'll be looking into how we can use async and await to write asynchronous code in the same manner that we write synchronous code.

Using C# named arguments to declutter complex tests

I've got a quick tip this week, about tests and a cool feature of C#. For better or for worse, my team and I often build projects that are large, complex beasts. In all of them, we prefer to use Dependency Injection as a way to construct complex objects.

newsletters