Open-source libraries significantly reduce developers’ work and allow them to create and manage their applications easily.
In this article, I’ll describe some of the most useful .NET Core libraries that every developer needs to know:
Swashbuckle
Swashbuckle is a library that generates beautiful API documentation, including the Swagger UI, to explore and test API operations. This can be configured in your project and it will take only a few minutes to get started.
GitHub: Swashbuckle.AspNetCore
License: MIT
Stars: 2.8k
Polly
Polly , according to its website, “allows developers to express resilience and transient fault-handling policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.”
GitHub: App-vNext/Polly
License: BSD-3-Clause
Stars: 6.9k
AutoMapper
AutoMapper is a popular object-to-object mapper library used to map the properties of two different objects. This will reduce developer work and help us avoid unwanted code when mapping values.
GitHub: AutoMapper
License: MIT
Stars: 6.9k
SaasKit
Building multitenant applications is quite difficult. But this library makes adding multitenancy as simple as possible. This library uses the concept of adding middleware using the OWIN interface. The author of this library has written many blog posts on how to configure SaasKit. Check the blog out for more details.
GitHub: Saaskit
License: Apache License 2.0
Stars: 5.6k
AspNetCore.Diagnostics.HealthChecks
This project is a BeatPulse liveness checker and UI port for the new feature included in the ASP.NET Core 2.2 version of Microsoft Health Checks. Using this library, we can monitor health checks for all apps, databases, APIs, Azure services, etc. This library can create beautiful UIs to display health checks.
GitHub: AspNetCore.Diagnostics.HealthChecks
License: Apache License 2.0
Stars: 1.1k
MailKit
MailKit is a cross-platform mail client library built on top of MimeKit. The goal of this project is to provide the .NET world with robust, fully featured, and RFC-compliant SMTP, POP3, and IMAP client implementations.
GitHub: MailKit
License: MIT
Stars: 3k
CacheManager
CacheManager is an open-source abstraction layer written in C# for .NET. It supports different providers of caches and incorporates other advanced features.
The CacheManager package’s main objective is to make life easier for developers to handle even very complex caching scenarios.
GitHub: CacheManager
License: Apache-2.0
Stars: 1.6k
Dapper
Dapper is a simple object mapper for .NET. This high-performance micro-ORM supports SQL Server, MySQL, Sqlite, SqlCE, Firebird, and so on. It can be used by simply installing the NuGet package, which extends the IDbConnection interface functionality. The familiar Stack Overflow site is using this library.
GitHub: Dapper
License: Apache-2.0
Stars: 11.8k
Ocelot
Ocelot is a. NET platform API gateway. This project is intended for people who use .NET or Core to run a microservice or service-oriented architecture that requires a unified system entry point. It will work with anything that uses HTTP. It runs on any ASP.NET Core-supported platform.
GitHub: Ocelot
License: MIT
Stars: 4.5k
NLog
NLog is an open-source logging tool for use in applications for .NET and Xamarin. It’s free, cross-platform, and easy to set up and expand. NLog is a great easy-to-use logging application with excellent log routing and management features, making it a good choice when selecting a high-performance logging system.
GitHub: NLog
License: BSD 3-Clause
Stars: 4.2k
Conclusion
I hope this blog has introduced you to some of the key open-source libraries of .NET. Besides these, you can find some more important libraries on this GitHub page.
Syncfusion provides 70+ high-performance, lightweight, modular, and responsive ASP.NET Core UI controls such as DataGrid, Charts, and Scheduler. You can use them to improve your application development.
Please share your feedback in the comments section. You can also contact us through our support forum, support portal, or feedback portal. We are waiting to hear your feedback!
Comments (21)
Great contribution. Thanks!
I agree with this.
What are your thoughts about Steeltoe being on this list?
https://steeltoe.io
Steeltoe is one of the good libraries to create cloud-native microservices.
SaasKit hasn’t been updated since 2016, and doesn’t supports .NET Core 2 (let alone 3)
Was my first concern. How it made the list confuses me. I would not trust it in a production dotnet core app.
Hi Thomas,
We made this list based on popularity and stars got in GitHub. We will revisit our list. Finbuckle.MultiTenant supports latest versions of .NET Core
https://www.finbuckle.com/MultiTenant
Thanks,
Suresh
You forgot Serilog.
Hi Daniel,
Serilog is a good alternate to NLog. You pick either of them.
Thanks,
Suresh
These are really important libraries of .NET which you introduced. Thanks a lot
Thanks for your feedback!
Thanks,
Suresh
SaasKit is completely dead from what I can see.
Latest commit from 3 years ago. Too much water under the bridge to even consider it valid by this time.
Everything else seems quite fine so far.
Hi Cesar,
Thanks you for pointing to that and we agree with your point. SaasKit doesn’t support the latest .NET Core version. We will revisit our list.
Thanks,
Suresh
Good collection. Serilog is also a great logging library.
Thanks. Yes, Serilog is a good alternate to NLog.
CachaMamager hasn’t been updated since 2018. It’s dead.
We have included CacheManager in this list based on popularity and number of downloads. You can find few other alternates to this like Electron.Net. Checkout this link, https://dotnet.libhunt.com/cachemanager-alternatives
Instead of Dapper, I highly recommand Insight.Database
Insight.Database is a good alternate to Dapper. Each have their own pros and cons.
Reference:
https://sansknowledge.wordpress.com/category/insight-database/
Thanks for the list and the Comments
First I want to thank you for your effort.
Great Blog! I agree with you. This is very well written
Comments are closed.