Roundup #23: Building Rider, Async Guidance and Mistakes, Local NuGet Cache

Here are the things that caught my eye this week.  I’d love to hear what you found most interesting this week.  Let me know in the comments or on Twitter.

Building a .NET IDE with JetBrains Rider

Before we get into the technology and architecture of Rider, we must look at where this IDE came from. As far back as 2004, JetBrains was looking at a stand-alone application for the Visual Studio add-in ReSharper. It was never released, but a fully functional prototype was around at that time.

Link: https://www.codemag.com/Article/1811091/Building-a-.NET-IDE-with-JetBrains-Rider

 

Async Guidance

Asynchronous programming has been around for several years on the .NET platform but has historically been very difficult to do well. Since the introduction of async/await in C# 5 asynchronous programming has become mainstream. Modern frameworks (like ASP.NET Core) are fully asynchronous and it’s very hard to avoid the async keyword when writing web services. As a result, there’s been lots of confusion on the best practices for async and how to use it properly. This section will try to lay out some guidance with examples of bad and good patterns of how to write asynchronous code.

Link: https://github.com/davidfowl/AspNetCoreDiagnosticScenarios/blob/master/AsyncGuidance.md

 

Correcting Common Mistakes When Using Async/Await in .NET

I’m here to tell a scary story; one of inefficient code and unhandled exceptions. A story about a .NET developer who used async/await, but didn’t fully understand the framework. Their code started experiencing strange bugs. Their app size was strangely large. GASP! Don’t let this happen to you.

In this campfire session, we are diving deep into the world of asynchronous programming to dissect how the .NET compiler handles asynchronous code and we’ll learn how small improvements to our asynchronous code can create huge performance gains.

Link: https://www.youtube.com/watch?v=av5YNd4X3dY

Clear Local NuGet Cache

This is really helpful as your local NuGet cache can get massive (in the gigabytes) with old packages you no longer ever restore.

Link: https://twitter.com/onovotny/status/1054861969910652928

 

Enjoy this post? Subscribe!

Subscribe to our weekly Newsletter and stay tuned.