Home

Awesome

This is a list I've made after reading this HN thread (and its article). I found the links so useful that I'll probably need to check those later.

Feel free to suggest a library (by opening an issue or creating a pull request).

Ah, and make sure to also check these other great lists:

Open Source .NET libraries that make your life easier

Abot

<sup>GitHub</sup> <sup>NuGet</sup>

C# web crawler built for speed and flexibility.

AdonisUI

<sup>GitHub</sup> <sup>NuGet</sup>

Lightweight UI toolkit for WPF applications offering classic but enhanced Windows visuals.

Akka.NET

<sup>GitHub</sup> <sup>NuGet</sup>

Port of Akka actors for .NET.

AngleSharp

<sup>GitHub</sup> <sup>NuGet</sup>

AngleSharp is the ultimate angle brackets parser library. It parses HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specification.

Autofac

<sup>GitHub</sup> <sup>NuGet</sup>

An addictive .NET IoC container.

AutoMapper

<sup>GitHub</sup> <sup>NuGet</sup>

A convention-based object-object mapper in .NET.

BCrypt.Net

<sup><del>GitHub</del> CodePlex</sup> <sup>NuGet</sup>

A .Net port of jBCrypt implemented in C#.

BenchmarkDotNet

<sup>GitHub</sup> <sup>NuGet</sup>

Powerful .NET library for benchmarking.

Bogus

<sup>GitHub</sup> <sup>NuGet</sup>

A simple and sane fake data generator for C#, F#, and VB.NET. Based on and ported from the famed faker.js.

Caliburn.Micro

<sup>GitHub</sup> <sup>NuGet</sup>

A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.

ChameleonForms

<sup>GitHub</sup> <sup>NuGet</sup>

This library will shape-shift your forms experience in ASP.NET MVC.

Cinchoo ETL

<sup>GitHub</sup> <sup>NuGet</sup>

ETL Framework for .NET (Parser / Writer for CSV, Flat, Xml, JSON, Key-Value formatted files).

CodeJam

<sup>GitHub</sup> <sup>Nuget</sup>

Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another

CommonMark.NET

<sup>GitHub</sup> <sup>Nuget</sup>

Implementation of CommonMark specification in C# for converting Markdown documents to HTML.

CoordinateSharp

<sup>GitHub</sup> <sup>Nuget</sup>

A library designed to ease geographic coordinate format conversions, and determine sun/moon information in C#

CsvHelper

<sup>GitHub</sup> <sup>NuGet</sup>

Library to help reading and writing CSV files.

Cirqus

<sup>GitHub</sup> <sup>NuGet</sup>

d60 event sourcing + CQRS framework.

Dapper

<sup>GitHub</sup> <sup>NuGet</sup>

A simple object mapper for .Net.

DeviceDetector.NET

<sup>GitHub</sup> <sup>NuGet</sup>

The Universal Device Detection library for .NET that parses User Agents and detects devices (desktop, tablet, mobile, tv, cars, console, etc.), clients (browsers, feed readers, media players, PIMs, ...), operating systems, brands and models.

DoddleReport

<sup>GitHub</sup> <sup>NuGet</sup>

DoddleReport generates tabular reports from any IEnumerable datasource.

DotVVM

<sup>GitHub</sup> <sup>NuGet</sup>

MVVM framework for people who don't like to write JavaScript, with OWIN and ASP.NET Core support and a free extension for Visual Studio 2015 and 2017

Dynamic Data

<sup>GitHub</sup> <sup>NuGet</sup>

Reactive extensions for collections.

Effort

<sup>GitHub</sup> <sup>NuGet</sup>

Effort is a powerful tool that enables a convenient way to create automated tests for Entity Framework based applications.

ELMAH

<sup>GitHub</sup> <sup>NuGet</sup>

Error Logging Modules and Handlers for ASP.NET.

EPPlus

<sup><del>GitHub</del> CodePlex</sup> <sup>NuGet</sup>

EPPlus is a .net library that reads and writes Excel 2007/2010 files using the Open Office Xml format (xlsx).

Fasterflect

<sup><del>GitHub</del> CodePlex</sup> <sup>NuGet</sup>

.NET library that improves your productivity and application performance when performing reflection operations. It allows you to perform metadata lookup and reflection invocation intuitively while achieving greater performance than the built-in .NET Reflection.

Fibber

<sup>GitHub</sup> <sup>NuGet</sup>

An indiscriminate data generator that will generate random data for all properties in a given class based on the property's type vs. its name.

Fixie

<sup>GitHub</sup> <sup>NuGet</sup>

Conventional Testing for .NET.

FlatFiles

<sup>GitHub</sup> <sup>NuGet</sup>

Reads and writes CSV, fixed-length and other flat file formats with a focus on schema definition, configuration and speed.

FlubuCore

<sup>GitHub</sup> <sup>NuGet</sup>

A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.

Fluent Assertions

<sup>GitHub</sup> <sup>NuGet</sup>

Fluent Assertions is a set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test.

FluentMigrator

<sup>GitHub</sup> <sup>NuGet</sup>

Fluent Migrations framework for .net.

FluentScheduler

<sup>GitHub</sup> <sup>NuGet</sup>

Task scheduler with fluent interface that runs automated tasks (cron jobs) from your application.

FluentValidation

<sup>GitHub</sup> <sup>NuGet</sup>

A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.

Flurl

<sup>GitHub</sup> <sup>NuGet</sup>

Fluent URL builder and testable HTTP for .NET.

Formo

<sup>GitHub</sup> <sup>NuGet</sup>

Formo allows you to use your configuration file as a dynamic object. Turn your web.config or application settings into a rich, dynamic object.

FsCheck

<sup>GitHub</sup> <sup>NuGet</sup>

Random Testing for .NET.

Glimpse

<sup>GitHub</sup> <sup>NuGet</sup>

The open source diagnostics platform for the web.

Hangfire

<sup>GitHub</sup> <sup>NuGet</sup>

Incredibly easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET applications.

Hashids

<sup>GitHub</sup> <sup>NuGet</sup>

A small .NET package to generate YouTube-like hashes from one or many numbers. Use hashids when you do not want to expose your database ids to the user.

HtmlAgilityPack

<sup>GitHub</sup> <sup>NuGet</sup>

An agile HTML parser that builds a read/write DOM and supports plain XPATH or XSLT allowing you to parse "out of the web" HTML files.

Humanizer

<sup>GitHub</sup> <sup>NuGet</sup>

Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.

Hyperletter

<sup>GitHub</sup> <sup>NuGet</sup>

Hyperletter helps you distribute your system, like a mix of WCF and ZeroMQ.

ImageResizer

<sup>GitHub</sup> <sup>NuGet</sup>

The official repository for ImageResizer.

Jil

<sup>GitHub</sup> <sup>NuGet</sup>

Fast .NET JSON (De)Serializer, Built On Sigil.

Json.NET

<sup>GitHub</sup> <sup>NuGet</sup>

Json.NET is a popular high-performance JSON framework for .NET.

Insight.Database

<sup>GitHub</sup> <sup>NuGet</sup>

Fast, lightweight .NET micro-ORM.

Lazy Cache

<sup>GitHub</sup> <sup>NuGet</sup>

An easy to use thread safe in-memory caching service with a simple developer friendly API for C#

libsodium

<sup>GitHub</sup> <sup>NuGet</sup>

A secure cryptographic library.

LINQ to DB

<sup>GitHub</sup> <sup>NuGet</sup>

Linq to database provider.

LiteDB

<sup>GitHub</sup> <sup>NuGet</sup>

A .NET NoSQL Document Store in a single data file.

Logary

<sup>GitHub</sup> <sup>NuGet</sup>

Logary is the best logging framework for .Net. It's a high performance, multi-target logging, metric and health-check library for mono and .Net.

MahApps.Metro

<sup>GitHub</sup> <sup>NuGet</sup>

A toolkit for creating Metro / Modern UI styled WPF apps.

MailKit

<sup>GitHub</sup> <sup>NuGet</sup>

A cross-platform .NET library for IMAP, POP3, and SMTP.

MediatR

<sup>GitHub</sup> <sup>NuGet</sup>

Simple, unambitious mediator implementation in .NET

MetadataExtractor

<sup>GitHub</sup> <sup>NuGet</sup>

A cross-platform .NET library for extracting metadata (including Exif, IPTC, XMP, ICC) from image and video formats (including JPEG, PNG, GIF).

MimeKit

<sup>GitHub</sup> <sup>NuGet</sup>

A cross-platform .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.

MiniProfiler

<sup>GitHub</sup> <sup>NuGet</sup>

A simple but effective mini-profiler for ASP.NET (and Core) websites

Nancy

<sup>GitHub</sup> <sup>NuGet</sup>

Lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono.

NAudio

<sup>GitHub</sup> <sup>NuGet</sup>

Audio and MIDI library for .NET.

NFluent

<sup>GitHub</sup> <sup>NuGet</sup>

NFluent is an ergonomic assertion library which aims to fluent your .NET TDD experience (based on simple Check.That() assertion statements).

NLog

<sup>GitHub</sup> <sup>NuGet</sup>

Advanced .NET and Silverlight Logging.

NPOI

<sup><del>GitHub</del> CodePlex</sup> <sup>NuGet</sup>

.NET version of POI Java project, an open source project which can help you read/write xls, doc, ppt files.

NSubstitute

<sup>GitHub</sup> <sup>NuGet</sup>

A friendly substitute for .NET mocking frameworks.

OpaqueMail

<sup>GitHub</sup> <sup>NuGet</sup>

.NET e-mail library and proxy supporting IMAP, POP3, and SMTP with S/MIME.

Polly

<sup>GitHub</sup> <sup>NuGet</sup>

Polly is a .NET 3.5 / 4.0 / 4.5 / PCL library that allows developers to express transient exception handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker in a fluent manner.

Postal

<sup>GitHub</sup> <sup>NuGet</sup>

Email sending for asp.net mvc using the view engine system to render emails.

Quartz.NET

<sup>GitHub</sup> <sup>NuGet</sup>

A full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.

Refit

<sup>GitHub</sup> <sup>NuGet</sup>

The automatic type-safe REST library for Xamarin and .NET.

Regextra

<sup>GitHub</sup> <sup>NuGet</sup>

Regextra simplifies some tasks typically solved via regex so that you no longer have (problems){2}.

Restful Routing

<sup>GitHub</sup> <sup>NuGet</sup>

A rails inspired restful routing api for asp .net mvc.

RestSharp

<sup>GitHub</sup> <sup>NuGet</sup>

Simple REST and HTTP API Client for .NET.

Serilog

<sup>GitHub</sup> <sup>NuGet</sup>

Simple .NET logging with fully-structured events.

ServiceStack

<sup>GitHub</sup> <sup>NuGet</sup>

Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all.

SharpNetSH

<sup>GitHub</sup> <sup>NuGet</sup>

A simple netsh library for C#.

Shouldly

<sup>GitHub</sup> <sup>NuGet</sup>

Should testing for .net - the way Asserting *Should* be!

Sieve

<sup>GitHub</sup> <sup>NuGet</sup>

Clean & extensible Sorting, Filtering, and Pagination for ASP.NET Core.

Simple.Data

<sup>GitHub</sup> <sup>NuGet</sup>

A light-weight, dynamic data access component for C# 4.0.

T4MVC

<sup>GitHub</sup> <sup>NuGet</sup>

T4MVC is a T4 template for ASP.NET MVC apps that creates strongly typed helpers that eliminate the use of literal strings in many places.

TinyMapper

<sup>GitHub</sup> <sup>NuGet</sup>

A quick object-object mapper for .NET.

SpecsFor

<sup>GitHub</sup> <sup>NuGet</sup>

SpecsFor is a light-weight Behavior-Driven Development framework that focuses on ease of use for *developers* by minimizing testing friction.

StructureMap

<sup>GitHub</sup> <sup>NuGet</sup>

A Dependency Injection/Inversion of Control tool for .NET.

Suave

<sup>GitHub</sup> <sup>NuGet</sup>

Suave is a simple web development F# library providing a lightweight web server and a set of combinators to manipulate route flow and task composition.

Topshelf

<sup>GitHub</sup> <sup>NuGet</sup>

An easy service hosting framework for building Windows services using .NET.

TuesPechkin

<sup>GitHub</sup> <sup>NuGet</sup>

A .NET wrapper for the wkhtmltopdf library with an object-oriented API.

Units.NET

<sup>GitHub</sup> <sup>NuGet</sup>

Makes life working with units of measurement just a little bit better.

Web Markup Minifier

<sup>GitHub</sup> <sup>NuGet</sup>

A .NET library that contains a set of markup minifiers. The objective of this project is to improve the performance of web applications by reducing the size of HTML, XHTML and XML code.

Scientist.net

<sup>GitHub</sup> <sup>NuGet</sup>

A .NET Port of the Scientist library for carefully refactoring critical paths.

Serenity

<sup>GitHub</sup> <sup>NuGet</sup>

Serenity is a Typescript / .NET application platform which has been built on open source technologies.

SharpZipLib

<sup>GitHub</sup> <sup>NuGet</sup>

#ziplib is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform.

Sprache

<sup>GitHub</sup> <sup>NuGet</sup>

Sprache is a simple, lightweight library for constructing parsers directly in C# code.

StackExchange.Redis

<sup>GitHub</sup> <sup>NuGet</sup>

StackExchange.Redis is a high performance general purpose redis client for .NET languages.

Storage.Net

<sup>GitHub</sup> <sup>NuGet</sup>

Storage abstractions with implementations for .NET/.NET Standard.

SuperSocket

<sup>GitHub</sup> <sup>NuGet</sup>

SuperSocket is a light weight, cross platform and extensible socket server application framework.

Websocket-sharp

<sup>GitHub</sup> <sup>NuGet</sup>

A C# implementation of the WebSocket protocol client and server.

YamlDotNet

<sup>GitHub</sup> <sup>NuGet</sup>

YamlDotNet is a .NET library for YAML.