.NET Tools
Essential productivity kit for .NET and game developers
.NET Annotated | April 2021
Did you know? There are over 30 languages that target the .NET CLI. The .NET CLI is an open specification of the runtime environment of the .NET framework. Perhaps you’re getting bored with the same old .NET language. Why not try something like Cobra or X#?
.NET news
- Introducing the .NET Upgrade Assistant Preview
- Announcing Entity Framework Core 6.0 Preview 2
- Announcing .NET 6 Preview 2
- Public preview: Azure Static Web Apps now supports deployment with Azure DevOps
Featured Content
Getting started with Dapr for .NET Developers – Are you starting out with Dapr and microservice development? Then here’s good news! Laurent Kempé has created a series of top-notch blog posts centered on Dapr for .NET developers. Don’t miss this valuable content about Dapr. Check it out: Laurent’s Dapr .NET content today.
Moving from Visual Studio to JetBrains Rider – Khalid Abuhakmeh has created this guide to help folks move from Visual Studio to Rider. Rider’s wonderfully helpful features make it a pretty smooth process.
Tutorials and articles
.NET tutorials
- Debugging .NET Core memory issues (on Linux) with dotnet dump – Tess Ferrandez goes deep in detailing what it takes to debug .NET Core memory issues in Linux. If you’ve been having debugging troubles, this post is extremely helpful.
- View-Based Authorization in ASP.NET Core – Golda from CodeMurals shows us a quick demo on authorization in views in ASP.NET Core apps.
- Making a plugin isn’t so hard… – Rival Abdrakhmanov makes a plugin and makes the case that it’ really not so hard. And Rival is right. It’s not. So next time you would like that small feature, try making a plugin for it and publishing it on the JetBrains marketplace.
- Enum Alternatives in C# – Have you used enums and wondered if there were better ways to implement them, especially in a UI? In this blog post Steve Smith shows you different ways to do enums.
- LiveReloadServer – A Generic Static Web Server with Live Reload based on .NET – Rick Strahl writes about static web servers with live reload capabilities. If you have to use static servers, this is a great resource.
- Cross-platform Windows Presentation Framework, anyone? The short answer: yes. Unpacking Avalonia – Tim Anderson takes us on a tour of Avalonia. Avalonia is what we’ve been waiting for – that cross platform UI framework for .NET folks.
- Don’t let Entity Framework call the shots – Chris Klug battles a few rounds with Entity Framework. And wins. In Chris’ blog post, we get to watch and learn from it.
- Blazor CSS Handling – Are you starting out with Blazor? Great! Claudio Bernasconi has created a multi-part free Blazor Crash course to help you get on your way.
- 3 Different Hosting Models in Blazor – Vicente Guzmán demonstrates three ways to host Blazor apps: Server, Client (WebAssembly), and ASP.NET Core.
- REST APIs for Microservices? Beware! – Derek Comartin discusses latency and availability issues that arise when doing microservice development.
- Tetris in Blazor Part 2: Cells, the Grid, and the Game State – This is part 2 of Matthew Jones’ multi-part post on building Tetris, a super fun game, with Blazor. There are few ways to learn something that is more fun than those that involve Tetris!
- Load/stress testing .NET apps with Apache JMeter – Load and stress testing is a necessary but often overlooked part of development, that folks often don’t like to do. In addition, Microsoft recently discontinued their cloud based testing services. So Julio Sampaio breaks it down and shows how to stress test with Apache JMeter.
Free Blazor Crash Course – Claudio Bernasconi’s excellent course for Blazor development includes videos, blog posts, and complete samples to help you get started writing those Blazor apps today.
Related programming tutorials
- GitHub Desktop now supports cherry-picking – Rebecca Hovemeyer introduces the concept tp cherry-picking as well as a quick post on how to do it in GitHub Desktop.
- Supercharging Web Apps by Testing and Debugging in Production – Rami Honig writes about the importance of automated UI testing (with Selenium) as well as showing how to write and run those tests.
- 8 Books to Improve as a .NET Developer – Who doesn’t love good books? Patrick Smacchia jotted down a nice reading list of 8 books that can help us improve our dev skills.
- Handle Exceptions With ASP.NET Core ExceptionHandlerMiddleware – Exception management is an ingrained part of software development. Khalid Abuhakmeh shows straightforward and proper techniques for handling exceptions in this post.
- Angular Basics: The Scope of This and Arrow Functions – Marina Mosti reviews arrow functions in Angular. Many of the concepts here apply to .NET development, and many .NET developers also have to use Angular, so this post helps us enhance our skills across multiple technologies.
- Distributed Databases: An Overview – .NET folks often have to implement distributed databases for a variety of applications, and it’s not so easy. In this post, Matthew Groves breaks down the details and information needed to help you get started.
- Who Is Responsible For Building Tests? – This is one of those questions that has no clear answer, but Grant Fritchey does have a few pointers as to who should be responsible for tests. Do you agree? Who is in charge of your tests?
Tweet tips
These tweet tips have some really excellent points to consider:
A secret for the junior devs afraid to ask questions: literally every developer has struggled with or missed something painfully obvious. If a more senior dev makes you feel bad for asking questions, they're either lying to themselves or aren't as good as they claim to be.
— Sam Julien (@samjulien) March 25, 2021
Dear engineers,
If you have experience running projects, leading people, creating and contributing to a great work culture please don't shy away from mentioning this in your CVs.
There are companies out there who – pardon my French – don't see you as code monkeys.
— Franziska Hauck 👩🏻💻 👂🏻 (@_francied) March 26, 2021
A true sign of a great dev early-mid career is caring deeply about technical debt.
A true sign of coming out of the other side is using technical debt strategically and not freaking out about it.
The best devs understand that they're a business first.
— Richard Minerich (@rickasaurus) March 19, 2021
Interesting and cool stuff
- How To Give Your Manager Feedback Without Sounding Like A Jerk – Developers often overlook things like giving feedback as a skill that can be enhanced. That makes piece by Genevieve Michaels quite refreshing to see that some in the industry focus on core skills such as feedback.
- How (and why) to maintain a README.md file for internal projects: Onboarding and Continuous Integration – It may come as a surprise but many people actually read the README, especially if they’re using or forking an OSS project. Charles L Flatt writes about the how and why of ensuring your users have a quality README.
- No one gives a shit what programming language you use Warning: language. But otherwise true. Developers often myopically focus on the wrong things, and this time, that includes bashing the languages that others use. George Stocker goes into sweary detail on the language-hating phenomenon.
- Why Senior Engineers Hate Coding Interviews – To be fair, who doesn’t hate coding interviews? But Adam Storm makes a great case in that senior level developers need to be measured on so much more than language and algorithm details. They need leadership, mentoring, and other core skills that are often overlooked (such as giving feedback, see the previous entry)
- When Should I Interrupt Someone? – Ian Miell doesn’t mean that you should interrupt someone during a meeting. Ian is talking about interupting a teammate when they’re heads down coding or otherwise busy with work.
- Best practices can slow your application down – Roberta Arcoverde and Ryan Donovan demonstrate best practices gone awry. Indeed, sometimes the best practice isn’t really the best one for the situation.
- Drag-n-drop coding for Raspberry Pi Pico – Raspberry Pi is a favorite IoT go-to for .NET developers. Ashley Whittaker shows how to do drag-and-drop coding with it.
- How Much Work Can You Really Get Done? – Tyler Hakes outlines how much work one can reasonably expect in a day. Does that include blogging?
We’ve all been there, Luise.
It me. pic.twitter.com/946G0UckD4
— Luise Freese 👑 | MVP | 💖 M365 PnP TechCommunity (@LuiseFreese) March 14, 2021
Indeed! Such a great feeling to successfully merge and deploy!
How I feel when I have a PR successfully merge and deploy in a new repo. pic.twitter.com/M0gZ68BsWZ
— 😷 Andy Mallon #BlackLivesMatter (@AMtwo) March 30, 2021
And finally, the latest from JetBrains
Check out our .NET Tools Guide | Learning resources for ReSharper, Rider, and more!
Here’s a chance to catch up on JetBrains news that you might have missed:
Releases
- ReSharper 2021.1 Beta is available!
- Rider 2021.1 Reaches Beta!
- Rider 2020.3.4 and ReSharper 2020.3.4 Released
Blog Posts
- Refactor object-oriented code with ReSharper
- Scaffolding for ASP.NET Core projects comes to Rider 2021.1
- Work with ASP.NET Core route templates in ReSharper and Rider
Webinars
- Building Engaging Cross Platform Applications using Rider and Avalonia – Webinar recording
- Webinar: .NET 5 Dependency Injection
- Webinar: Building Engaging Cross Platform Applications using Rider and Avalonia
- OSS Power-Ups: Fluent Assertions – Webinar recording
Don’t miss this fantastic offer! CODE Magazine is offering a free subscription to JetBrains customers!
Sharing is caring! So share your content with other readers. Don’t keep it to yourself! Send a Tweet or email with tips or content for publication in future newsletters! Share with a comment here, email me at rachel.appel@jetbrains.com, or drop me a message via Twitter.