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

Your email address will not be published. Required fields are marked *