.NET Tools
Essential productivity kit for .NET and game developers
.NET Annotated Monthly | June 2022
Did you know? The domain name www.youtube.com was registered on February 14, 2005. The first video was uploaded on April 23, 2005 titled Me at the zoo, which has over 230 million views as of June 2022.
.NET news
- Announcing .NET 7 Preview 4
- ASP.NET Core updates in .NET 7 Preview 4
- Announcing Entity Framework 7 Preview 4
- .NET MAUI Release Candidate 3
- Announcing gRPC JSON transcoding for .NET
- Regular Expression Improvements in .NET 7
- What’s new with ML.NET Automated ML (AutoML) and tooling
- Introducing .NET MAUI – One Codebase, Many Platforms
Featured content
We’d like to thank Daniel Lawson for curating this month’s featured content! Daniel Lawson (GitHub) is a software developer with AWS certification for the French Ministry of Education and a content creator, mostly on Twitter. Daniel creates content about programming in general, and more specifically about C# .NET and AWS.
- Rate Limiting is now implemented in .NET 7
.NET 7 Preview 4 is out since May 10th. It came with a very handy functionality that is well-known in system design: Rate Limiting. Rate Limiting is a mechanism that helps to control the number of requests that hit your HTTP endpoint. Its global purpose is to reject excess requests that come in when a defined threshold is reached. The good news is that rate-limiting is now built in .NET and can be added as a middleware to .NET apps. It’s great! Even if it is in preview for the moment, it is still a game-changer functionality. The excellent Nick Chapsas is talking about it on YouTube where he shares the basics. More content will be released over time as I personally believe that it will be one of the most loved functionalities in .NET very soon. Stay tuned for updates!
- Why C# .NET?
There are loads of frameworks out there. Why to choose one over the other can be a tricky challenge, and why to choose .NET specifically is a very common question especially from newbies.
François Bouteruche is a Senior Developer Advocate at AWS, and he shares his journey with .NET in this article. I like the personal story behind it, and I’ve learned that a framework choice depends a lot on the kind of developer who is choosing. This approach is a little bit different from what we usually hear out there and I found that diversity interesting.
- Getting started with .NET MAUI
.NET MAUI is a cross-platform framework for building desktop and mobile apps using C#. It is the evolution of the Xamarin framework. The framework evolves rapidly and causes great enthusiasm among developers. But, how to get started with .NET MAUI? Thanks to Microsoft, who released a series of 8 videos for beginners on YouTube. I found the lectures very well explained by James Montemagno and it can be a great starting point for newbies who want to explore .NET MAUI. You can find the whole series (in order) on the dotNET Youtube channel. Also, additional information can be found in the .NET MAUI documentation if you want to know more.
- Microsoft Build 2022 : What is new in the .NET Ecosystem?
The Microsoft Build 2022 is an online event that took place from March 24th to 26th this year. During these three days, amazing speakers present the latest innovations in the .NET ecosystem. A lot of topics are addressed, from programming languages updates to cloud computing, and also newer topics like artificial intelligence, machine learning and Internet of Things (IoT). Even though Microsoft products are highlighted (Power Platform, Microsoft 365, etc …), a great place is given to non-Microsoft-related products as well. If you want to see how the .NET community is innovating and to discover the power of Microsoft products (or not), Microsoft Build 2022 is definitely the place to be. If you did not attend, no problem! You can find the sessions on the event website : https://mybuild.microsoft.com/ . Enjoy!
- .NET + AWS = Love!
When talking about cloud computing related to .NET, we obviously think about Azure. While it is true that the Azure cloud is natively tailored for .NET development, another cloud provider has made huge efforts these later years to be .NET compatible: AWS.
AWS is more than an alternative nowadays, when it comes to cloud-based application development with .NET. C# is one of the core languages supported by AWS, and I personally think that it’s worth a try. This article published by David Pallman gathers all the AWS documentation for the .NET developer: Blogs, Youtube channels, Twitter accounts…everything is there! There is also a huge community behind .NET on AWS. As quality tools and content will be created over time, I am sure it’s the best time to explore what AWS has to offer. Happy coding!
.NET & programing tutorials and tips
.NET tutorials and tips
- Testing ASP.NET Core gRPC services in JetBrains Rider – Rider has the best debugging tools, hands down! So check out this great post by Andrew Lock on testing ASP.NET Core gRPC services with Rider.
- 8 Very Useful Markup Extensions in .NET MAUI – Markup extensions are a XAML technique for getting a value that is neither a primitive nor a specific XAML type, making them a flexible tool for your dev tool box. In this article, Leomaris Reyes explains how to use them.
- Reading Handwritten Pages With Azure and Optical Character Recognition – Iris Classon pens a short summary post about OCR in Azure.
- Commands & Events: What’s the difference? – The difference between commands and events may seem simple to some, but nonetheless there is much confusion around these concepts. Thanks for this much needed and excellent blog post with video, Derek Comartin!
- How to Create a Comma-Separated String From a List of Strings in C# – CodeMaze publishes many posts that fit in the “Back to Basics” category, and this one is about string things! Parsing one string to make another is a common programming activity.
- What is .NET MAUI? – .NET Maui Crash Course #0 – Start here at video[0] and keep watching the entire “.NET Maui Crash Course” series from Gerland Versluis on .NET MAUI. This is good stuff, get it while it’s fresh.
- Using SQL Server Cursors with Entity Framework Core – Nearly every company with SQL Server ends up with some cursors that you must deal with, so Khalid Abuhakmeh has written this tutorial to guide you through using cursors and EF Core.
- Blazor vs Razor: The Difference Solved – Blazor is a new member of the ASP.NET family, but what about Razor? What’s the difference? What’s the same? Jason Beres demystifies this question.
- 3 ways to check the object passed to mocks with Moq in C# – Are you Moq’ing your test code? Then this article showing some ways to check objects passed to Moq by Davide Bellone is for you. Learn a few tricks when using Moq for mocks.
- How to open and read XML files in C# .NET 6 – Back to basics with Sanjay at Pro Code Guide, demonstrating how to open and read XML files with .NET 6.
- Using MySQL in a Docker container with EF Core – Here’s a great post by Christian Nagel showing how to containerize MySQL in Docker.
- Getting Offline Country Data in Dotnet MAUI or Xamarin.Forms – This handy post by Damien Doumer shows a quick way to display a list of countries in Maui.
- How to better configure C# and .NET applications for SendGrid – Niels Swimberghe demonstrates how to configure C# and .NET applications for SendGrid the best way.
- Create Blazor CRUD Application with PostgreSQL and Dapper – There’s a lot going on here but that’s how software works. A. Yohan Malshika of Syncfusion details how to write CRUD actions through microservices with Dapper that store the data in PostgreSQL (with Syncfusion controls).
- Techniques and tools to update your C# project – Migrating to nullable reference types – Part 4 – If you’re updating older C# code or learning the new stuff, check out this post by Maarten Balliauw who simply cannot stop writing about nullable reference types, much to your benefit, dear reader. Don’t forget to follow the links in the post for previous content.
- Evil Monkeypatching in C# with Rosyln Source Generators – This is a nice deviation from the usual .NET content out on the internet by Martin Thwaites. A monkey patch is a way for a program to extend or modify supporting system software locally affecting only the running instance of the program. Historically, you couldn’t modify running code C#, but with the advent of Roslyn, the runtime is now your playground.
- It’s good to bet on .NET – Indeed, it is good to bet on .NET! The kids over in the land of JavaScript, Python, or competing languages may poo-poo .NET developers as being a bunch of old curmudgeons but C# gets the job done, and .NET has a great stack of tools and other languages too. And don’t forget the cloud! So yes, it’s a good bet as Bryan Costanich says in the post.
- How To Use Localization in ASP.NET Core – Localization is always an in-demand skill for web developers, since the internet is global and your webapps are often reaching folks in places you didn’t know existed. So catch this post by Jeetendra Gund on glob/loc in .NET.
- Platform’s productivity improvements: Migration from .NET 5 to .NET 6 – nopCommerce has published this nice article dealing with gotchas and issues when migrating to .NET 6.
- Fundamentals of garbage collection – Back to basics with this older doc from Microsoft on how the Garbage Collector works, specifically its generation management.
Related programming tutorials and tips:
- The History of Web Accessibility and How It Impacts Design Today – Accessibility writer Suzanne Scacca gives us a much needed history lesson on accessibility. It’s always beneficial to see how historical decisions affect things that happen today.
- How to Iterate Over Object Keys With JavaScript – Kingsley Ubah breaks down JavaScript iteration over complex objects.
- What GraphQL Is and Isn’t? – A quick post with a table outlining the differences between GraphQL and rest. Post by Mahibul Haque.
- What Is Cross Browser Compatibility? – A great question! Often, people simply think “feature parity” when it comes to cross-browser compatibility but it’s much more than the lowest common denominator of features. Dennis Martinez explains what cross browser compat really means.
It’s worth it to comb through the replies on this thread. There’s a lot of great Git-related tips and tricks here. You don’t want to miss out!
Consider this advice from Tess – it’s not a hot take, it’s an accurate take for those who want to really grow in their career.
Interesting and cool stuff
- Get kids coding and learning electronics with Raspberry Pi Pico – Won’t somebody think of the children?! Oh wait, Rebecca Franks did, and she’s sharing those resources with us. Got kids? Then check these out!
- Choosing a Code of Conduct for your open source project – We often don’t think about codes of conduct (or want to), but it’s important that every OSS project have one.
This is truly how it feels when you fix that bug in production.
And finally, the latest from JetBrains
Here’s a chance to catch up on JetBrains news that you might have missed.
Check out our .NET Guide! It’s a learning tool with tons of videos, tips, tricks, and info on a variety of .NET related topics.
Releases, Roadmaps, and News
- Rider 2022.2 Roadmap
- ReSharper 2022.2 Roadmap
- ReSharper and Rider 2022.1.2 Are Now Available
- Rider Comes to Space Dev Environments
- Introducing RiderFlow, a Free Unity Editor Plugin for Scene Management
Blog posts, webinars, etc..:
- Webinar – OSS Power-Ups: Serilog
- Webinar Recording – Securing SPAs and Blazor Applications using the BFF Pattern
- Case Study – How the Profilers Uncover Critical Issues That Mimic Apps’ Normal Behavior
- Surprising Ways To Profile Your .NET Applications
- macOS Environment Setup For MAUI Development
- How We Used dotMemory to Optimize dotMemory
- Structure and Organize .NET Projects with Rider
Don’t miss this fantastic offer! CODE Magazine is offering a free subscription to JetBrains customers. Get your copy today!
Sharing is caring! So share content that you find useful with other readers. Don’t keep it to yourself! Send us an email with your suggestions for publication in future newsletters!