Tools for .Net developers in 2024

Tools

Resharper One of the most popular productivity tool for Visual Studio users. The need for Resharper is reduced for the recent few years though. I'm simply so familiar with it and it's muscle memory now. ChatGPT and GitHub Copilot A LLM based support is key productivity tool for developer since it's introduced. The more knowing how to get most of of it, the more productive a software engineer can be. VS Code This becomes the one of the best IDE across widows/linux worlds. Various extensions make this editor much more useful. The being light weight is the one big advantage over Visual Studio, which is still my main IDE though.  

Library

Unit Testing Moq A mocking library that I’ve chosen. Easy to use, flexible enough. I also work with Autofac. FluentAssertions A while after unit testing in the C# world, it didn’t take long before I realize that I need more tools to fill in the gap. FluentAssertions help asserts like speaking. It flows naturally. and much more to help do a proper unit test. This is another must have if you do unit test. SpecFlow This is very interesting one. This help does BDD. If you don’t do a TDD or BDD, this tool is just too much. I’ve applied this partially on a small project and found that the problem is it’s not fully integrated with existing Unit Testing tools in VS. So, it’s about using SpecFlow on the entire project or don’t use it.   Log/Exception Handling NLog Newer one. would be good for .Net project. seems like supporting more modern functions. It seems like accepted as a better library than log4net on .Net project, but if you don’t use it extensively, it’s would be no big difference from Log4Net. Sentry A cloud hosted application monitoring application. All my companies exceptions are sent to Sentry and monitored there. Sentry becomes a central place to monitor any application exceptions of entire application of the company. Stackify Easy to use APM, application performance monitoring solution. By just installing an agent in the server, it is possible to monitor performance all dotnet applications without extra configuration. As we move apps to the cloud, Azure, I now started rely more on application insights. However, monitoring entire applications in one place may require another solution than just application insights, which is very useful to investigate a single application. Debug Compression ICSharpCode.SharpZipLib De facto standard compression library for C# CSV file CSVHelper Replacing LumenWorks.Framework.IO. JSON Newtonsoft.Json Probably no need to say anything on this one. Another de facto JSON library for C#. Email OpenPop.NET Used as a .Net POP3 client. FTP WinSCP.net I know there are lots of commercial version FTP libraries, but as an open source library WinSCP.net looks to be the best one. Excel file creation EPPlus Also when it comes to Excel library in .Net world, EPPlus is an easy-to-use library. I used this for a couple projects and was happy about it. Dependency Injection Autofac I haven’t used other IoC container much though, Autofac seems to be the most widely used one. and I’m happy with this so far. Functional Programming Pattern Optional Once start using functional programming principle in C#, the first library I’m trying to utilize is this one. It seems to me that there isn’t a big community in this area yet and couldn’t find some de facto standard library here. At least for far, I’m working on getting best out of the Optional library. API Nswag The Swagger/OpenAPI toolchain for .NET, ASP.NET Core and TypeScript. In particular, we use NSwag client code generator to create Type Script API client code automatically, which save time and reduce potential errors. Highly recommend it. Scheduler Hangfire Getting to like it. Hangfire, which is “an easy way to perform background processing in .NET and .NET Core applications”. I have been using Windows Task Scheduler for back-end automation applications for quite a long time, and it’s good enough, however, if to have an control of scheduling inside ASP.Net, Hangfire is a good one. Hangfire works on various kinds of databases including MS SQL, SQLite, etc. Windows Task Scheduler Some may think it is boring. But as far as I can see, Windows Task Scheduler works fine for most of back end scheduled task. Unless an app should run more frequently than 1 minute, I prefer to use Task Scheduler with console application for simplicity. Etc Automapper Just started using this a while ago. Not yet fully convinced about using it as my projects doesn’t require massive mapping across the solution. Once the solution gets to the point where it’s complex enough in terms of using model and DB tables, Automapper looks to be very useful. MoreLinq To do a LINQ query better, I searched libraries to get some help. and found this one. Looks really promising and handy. We could just create a few LINQ extension methods, but why reinvent the wheel and using the existing one can be a way of quick learning.  

Others

Backend Framework WebAPI I’ve switched to SPA+ Web API architecture when building a web app in .Net stack, as I assume many others have done. Front-End Vue React with Next.js may be the most popular front-end framework. However, our company choose to use Vue.js (as TypeScript) and it is working just well and could not find a reason for a different front-end framework. Angular Started using AngularJs and soon after Angular2 release, I found it’s much cleaner and moved to Angular. The problem is that I can’t follow the speed of Angular version up. The fact that Angular is based on Typescript is a great merit for the developer like me who started from strongly typed language like C# and still feeling weird in many things in how Javascript works. Bootstrap No need to add a word in here. I’m still using BS3.0. Not sure when to move on to 4.0 ngx-bootstrap I’m happy about the fact that there is a library like this that works perfectly with Angular. However, These front-end libraries are changing so quickly and still many to improve. NPM Quickly it became that we can’t develop front-end web things without NPM. Glad I can rely on one technology. Hope NPM live long. CI/CD Azure DevOps My go-to DevOps tools. It is free for small team of up to 5. Database SQL Server Microsoft SQL Server is the easy chose for .net developers for the most of needs for relational database behind most of the applications. Cosmos DB As a key-value paired document DB, for the massive volume and for the less structured document, this looks to be very useful. Especially, it is cheap to use in Azure cloud compare to SQL server. Elastic Search The most well known and proven quick search solution. This solution is great to provide a quick search or text search. However, you will experience a bit of learning curve. Chrome Extension JsonView This helps to view json file pretty in Chrome, which is useful to work for API project. PC Tools ZoomIt No Code/Low Code Nintex K2 workflow I've been using this low code solution about 2 years in the company. The biggest benefit from the low code solution is quick to create a simple application that includes forms / workflow / approval / task tracking. However, there seems to be cheaper option out there. Power App, Power Automate This Microsoft no code platform looks to be a great another no code solution if you are a Microsoft tech embedded company. Task Management Jira / Confluence Content Management iManage Good solution, but not cheap. Reporting SQL Server Reporting Services (SSRS) We have been using SSRS for various reports. However, various report requirement from various people can quickly make an report hell. Standardization and management of reports are key. Power BI Great for multidimension report. Potential to provide dynamic reports to user who can customize and drill down to analyze the data. Email Service SendGrid postmark sparkpost

Leave a comment

Please note that we won't show your email to others, or use it for sending unwanted emails. We will only use it to render your Gravatar image and to validate you as a real person.