A curated collection of awesome .NET libraries, tools, frameworks, and software.
Inspired by awesome-python and awesome-go.
Add ToC
- CacheManager - CacheManager is an open-source caching abstraction layer for .NET written in C#.
- Microsoft.Extensions.Caching - Microsoft.Extensions.Caching is a simple in-memory cache for .NET.
- Spectre.Console - A .NET library that makes it easier to create beautiful console applications.
- Colorful.Console - Colorful.Console is a C# library that wraps around the System.Console class, exposing enhanced styling functionality.
- CommandLineParser - Terse syntax C# command line parser for .NET.
Ⓜ️ System.CommandLine - The System.CommandLine library provides functionality such as parsing the command-line input and displaying help text.
- Cake - Cake (C# Make) is a cross-platform build automation system with a C# DSL.
- Fody - Extensible tool for weaving .net assemblies.
- Fare - Fare is a .NET library for working with finite state machines.
- BigQuery - Google BigQuery ADO.NET Data provider.
- DuckDB.NET - DuckDB.NET is a .NET wrapper for the DuckDB in-memory database.
- FirebirdSql.Data.FirebirdClient - Firebird ADO.NET Data provider.
- MySqlConnector - MySqlConnector is a high-performance MySQL connector for .NET.
- MySql.Data - MySQL Connector/NET enables .NET developers to create database applications using MySQL.
- NPgsql - Npgsql is the .NET data provider for PostgreSQL.
- SQLite-net - SQLite-net is an open source, minimal library to allow .NET applications to store data in SQLite 3 databases.
- System.Data.SQLite - System.Data.SQLite is an ADO.NET provider for SQLite.
Ⓜ️ System.Data.SqlClient - System.Data.SqlClient is the .NET data provider for SQL Server.
- StackExchange.Redis - High performance Redis client, incorporating both synchronous and asynchronous usage.
- MongoDB.Driver - The official .NET driver for MongoDB.
- NodaTime - Noda Time is an alternative date and time API for .NET.
- TimeZoneConverter - TimeZoneConverter is a .NET library to convert IANA time zones to Windows time zones.
- Autofac - Autofac is an .NET IoC container.
- Castle.Windsor - Castle Windsor is best of breed, mature Inversion of Control container available for .NET.
- CommonServiceLocator - CommonServiceLocator is a simple library for providing a common way to locate services.
- MassTransit - MassTransit is a free, open-source distributed application framework for .NET.
- Polly - Polly is a .NET resilience and transient-fault-handling library.
- MailKit - MailKit is a cross-platform mail client library built on top of MimeKit.
- SendGrid - C# client library and examples for using Twilio SendGrid API's to send mail.
- ClosedXML - ClosedXML is a .NET library for reading, manipulating, and writing Excel 2007+ (.xlsx, .xlsm) files.
- EPPlus - EPPlus is a .NET library that reads and writes Excel files using the Office Open XML format (xlsx).
- ExcelDataReader - ExcelDataReader is a lightweight and fast library written in C# for reading Microsoft Excel files.
- NPOI - NPOI is a .NET library for reading and writing Microsoft Office file formats.
- K4os.Compression.LZ4 - Port of LZ4 compression algorithm for .NET
- System.IO.Abstractions - A set of abstractions to help make file system interactions testable.
- SharpZipLib - SharpZipLib is a Zip, GZip, Tar, and BZip2 library written entirely in C# for the .NET platform.
- SharpCompress - SharpCompress is a compression library for .NET Standard 2.0 that can unrar, unzip, and untar.
- Flurl.Net - A fluent, testable HTTP client library.
- Refit - The automatic type-safe REST library for Xamarin and .NET.
- RestSharp - RestSharp is a simple REST and HTTP API Client for .NET.
- ImageSharp - ImageSharp is a new, fully featured, fully managed, cross-platform, 2D graphics API.
- Magick.NET - Magick.NET is an advanced .NET library to work with images.
- SkiaSharp - SkiaSharp is a cross-platform 2D graphics API for .NET platforms based on Google's Skia Graphics Library.
- Hangfire - Hangfire is an easy way to perform fire-and-forget, delayed, and recurring tasks inside ASP.NET applications.
- NCrontab - NCrontab is a library for parsing crontab expressions.
- Quartz.NET - Quartz Scheduling Framework for .NET
- Common.Logging - Common.Logging is a portable logging abstraction for .NET.
- log4net - log4net is a tool to help the programmer output log statements to a variety of output targets.
- NLog - NLog is a free logging platform for .NET with rich log routing and management capabilities.
- OpenTelemetry - OpenTelemetry is a set of APIs, libraries, agents, and instrumentation to provide observability for your applications.
- Sentry - Official Microsoft.Extensions.Logging integration for Sentry.
- Serilog - Serilog is a diagnostic logging library for .NET applications.
Ⓜ️ System.Diagnostics.EventLog - System.Diagnostics.EventLog is a .NET library for logging to the Windows Event Log.
- Confluent.Kafka - Confluent's .NET Client for Apache Kafka
Ⓜ️ Microsoft.Azure.Amqp - Microsoft.Azure.Amqp is a .NET library for AMQP.- MassTransit - MassTransit is a free, open-source distributed application framework for .NET. `- MediatR - Simple, unambitious mediator implementation in .NET
- RabbitMQ.Client - RabbitMQ.Client is the .NET client for RabbitMQ.
- Twilio - Twilio is a C# library for communicating with the Twilio API.
- App Metrics - App Metrics is an open-source and cross-platform .NET library used to record metrics within an application.
- OpenTelemetry - OpenTelemetry is a set of APIs, libraries, agents, and instrumentation to provide observability for your applications.
- Moq - Moq is the most popular and friendly mocking framework for .NET.
- DnsClient - DnsClient is a simple yet very powerful and high-performance open-source library to do DNS lookups in .NET.
- Flurl - A fluent, portable URL builder. To make HTTP calls off the fluent chain, check out Flurl.Http.
- SSH.NET - SSH.NET is a SSH library for .NET, optimized for parallelism.
Ⓜ️ YARP - YARP is a reverse proxy toolkit for building fast proxy servers in .NET.
Object relational mapping (ORM) libraries that provide a high-level abstraction for interacting with databases.
Ⓜ️ Entity Framework Core - Entity Framework Core is a modern object-database mapper for .NET.- Dapper - Dapper is a simple object mapper for .NET and owns the title of King of Micro ORM in terms of speed.
- gRPC - gRPC is a high-performance, open-source universal RPC framework.
- MathNet.Numerics - Math.NET Numerics aims to provide methods and algorithms for numerical computations.
- NetTopologySuite - NetTopologySuite is a C#/.NET library providing geospatial functionalities.
- NumSharp - NumSharp is a .NET library that provides numerical computing functionality.
- BouncyCastle.Cryptography - BouncyCastle.NET is a popular cryptography library for .NET
- starkbank-ecdsa - StarkBank ECDSA is a .NET library for Elliptic Curve Digital Signature Algorithm (ECDSA).
Libraries and tools for binary serialization.
- Google.Protobuf - Google's Protocol Buffers is a language-neutral, platform-neutral extensible mechanism for serializing structured data.
- MessagePack - MessagePack is a fast and compact binary serialization format for .NET.
- MongoDB.Bson - MongoDB.Bson is a .NET library for BSON serialization.
- Parquet.NET - Parquet.NET is a .NET library to read and write Apache Parquet files.
- protobuf-net - Provides simple access to fast and efficient "Protocol Buffers" serialization from .NET applications
Ⓜ️ System.Formats.Asn1 - System.Formats.Asn1 is a .NET library for encoding and decoding Abstract Syntax Notation One (ASN.1) data.
- AutoFixture - AutoFixture is an open-source library for .NET designed to minimize the 'Arrange' phase of your unit tests.
- Bogus - A simple and sane data generator for populating objects that supports different locales.
- FluentAssertions - FluentAssertions is a set of .NET extension methods that allow you to more naturally specify the expected outcome of a test.
- NSubstitute - NSubstitute is a friendly substitute for .NET mocking libraries.
- NUnit - NUnit is a unit-testing framework for all .Net languages.
- Shouldly - Assertion framework for .NET.
- SpecFlow - SpecFlow is the #1 .NET open source framework for Behavior-Driven Development, Acceptance Test-Driven Development, and Specification by Example.
- xUnit - xUnit.net is a free, open-source, community-focused unit testing tool for the .NET Framework.
- AngleSharp - AngleSharp is a .NET library that gives you the ability to parse angle bracket based hyper-texts like HTML, SVG, and MathML.
- CsvHelper - CsvHelper is a library to help read and write CSV files.
- ExcelNumberFormat - .NET library to parse ECMA-376 number format strings and format values like Excel
- HtmlAgilityPack - HtmlAgilityPack is an HTML parser library for .NET.
- Json.NET - Json.NET is a popular high-performance JSON framework for .NET.
- NJsonSchema - NJsonSchema is a .NET library to read, generate, and validate JSON Schema.
- ServiceStack.Text - High-performance JSON, CSV, XML, etc. serializer and deserializer.
Ⓜ️ System.Text.Json - System.Text.Json is a high-performance JSON framework for .NET.- YamlDotNet - YamlDotNet is a .NET library for YAML.
- OpenTelemetry - OpenTelemetry is a set of APIs, libraries, agents, and instrumentation to provide observability for your applications.
- AutoMapper - AutoMapper is a simple library that allows you to map objects in .NET.
- morelinq - MoreLINQ is a set of extensions to LINQ to Objects.
- FluentValidation - A popular .NET library for building strongly-typed validation rules.
Ⓜ️ Microsoft.FeatureManagement - Microsoft.FeatureManagement is a library for enabling feature flags in .NET applications.- MimeKit - MimeKit is an Open Source library for creating and parsing MIME, S/MIME and PGP messages.
- NuGet.Packaging - NuGet.Packaging is a .NET library for creating and reading NuGet packages.
- prometheus-net - .NET client library for the Prometheus monitoring and alerting system.
- Scrutor - Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.