Skip to content

🐝 A collection of awesome .NET core libraries, tools, frameworks and software

Notifications You must be signed in to change notification settings

Ibro/awesome-dotnet-core

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Awesome .NET Core Awesome

A collection of awesome .NET Core frameworks, libraries, tools, resources and software.

Inspired by awesome, awesome-dotnet, awesome-nodejs, frontend-dev-bookmarks.

Contributions are always welcome! Please take a look at the contribution guidelines pages first. We accept proprietary and commercial software too.

Thanks to all contributors, you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.

Contents

General

  • ASP.NET Core Documentation - The official ASP.NET Core documentation site.
  • .NET Core Documentation - Home of the technical documentation for .NET Core, C#, F# and Visual Basic, including basic concepts, getting started instructions, tutorials and samples.
  • .NET Core SDK - .NET Core SDK is a general purpose development platform maintained by Microsoft and the .NET community on GitHub.
  • .NET Platform Standard - The differrent between the old version and the new version of .NET.
  • Introducing .NET Standard 2.0 - The description of what will be going on for .NET Standard 2.0 and the roadmap for some missing parts of the current .NET Standard.

Frameworks, Libraries and Tools

API

Application Frameworks

  • ABP - ASP.NET Boilerplate is a general purpose application framework especially designed for new modern web applications. It uses already familiar tools and implements best practices arround them to provide you a SOLID development experience.
  • Aeron.NET - Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron.
  • akka.net - Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono.
  • ASP.NET MVC - Model view controller framework for building dynamic web sites with clean separation of concerns, including the merged MVC, Web API, and Web Pages w/ Razor.
  • CQRSlite - Lightweight framework for helping writing CQRS and Eventsourcing applications in C#.
  • DotNetty - Port of netty, event-driven asynchronous network application framework.
  • EmbedIO - A tiny, cross-platform, module based web server for .NET Framework and .NET Core.
  • ExtCore - Free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core 1.0.
  • Halibut - A secure communication stack for .NET using JSON-RPC over SSL.
  • grpc - Remote Procedure Calls (RPCs) provide a useful abstraction for building distributed applications and services. The libraries in this repository provide a concrete implementation of the gRPC protocol, layered over HTTP/2. These libraries enable communication between clients and servers using any combination of the supported languages.
  • Nancy - Lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono.
  • orleans - Framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns.
  • protoactor-dotnet - Ultra fast distributed actors for Golang and C# https://proto.actor.
  • RService.io - ASP.Net Core RESTful microservice framework that focusing on speed and ease of use.
  • ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all https://servicestack.net.
  • Steeltoe OSS - .NET toolkit for common microservice patterns.

Application Templates

  • ASP.NET Core Boilerplate - A professional ASP.NET MVC template for building secure, fast, robust and adaptable web applications or sites. It provides the minimum amount of code required on top of the default MVC template provided by Microsoft.
  • kendo-ui-core - An HTML5, jQuery-based widget library for building modern web apps. https://www.telerik.com/kendo-ui.
  • JavaScriptServices - Microsoft ASP.NET Core JavaScript Services.
  • QuickApp - ASP.NET Core / Angular4 startup project template with complete login, user and role management.
  • Scaffolder - Lets you create extensible data-driven Web applications by automatically generated UI for each table in the database and lets create a applications for viewing and editing data based on the schema of the data.
  • Toucan - Boilerplate for building single page apps. Server is multi-project .Net Core solution designed around SOLID principles. Client is TypeScript 2, Vuejs 2, Vuex 2.

Authentication and Authorization

Bitcoin

  • NBitcoin - Comprehensive Bitcoin library for the .NET framework.

Build Automation

Bundling and Minification

  • BundlerMinifier - Visual Studio extension that let's you configure bundling and minification of JS, CSS and HTML files.
  • JavaScriptViewEngine - ASP.NET MVC ViewEngine for rendering markup in a JavaScript environment. Ideal for React and Angular server-side rendering.
  • Smidge - Lightweight runtime CSS/JavaScript file minification, combination, compression & management library for ASP.NET Core.
  • Web Markup Minifier - .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.

Caching

Cryptography

  • BCrypt.NET-Core - .NET Core port of BCrypt.NET used to store passwords securely.
  • BouncyCastle PCL - The Bouncy Castle Crypto package is a C# implementation of cryptographic algorithms and protocols.

CMS

  • Blogifier.Core - ASP.NET applications to provide common blogging functionality.
  • Lynicon - O/S ASP.Net Core/.Net Core CMS with paid for modules: JSON content, works with variety of data stores, c# content types
  • OrchardCMS2 - The implementation of Orchard CMS in ASP.NET Core (also known as DNX).
  • Platformus - Free, open source and cross-platform CMS based on ASP.NET Core 1.0 and ExtCore framework.
  • SimpleContent - Simple, yet flexible content and blog engine for ASP.NET Core that can work with or without a database.
  • Squidex - Headless CMS, based on MongoDB, CQRS and Event Sourcing.
  • Weapsy - Open source ASP.NET Core CMS based on DDD and CQRS. It supports MSSQL, MySQL, SQLite and PostgreSQL out of the box.

Code Analysis and Metrics

  • App.Metrics - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health. See the docs for me details.
  • AspNet.Metrics - Capturing CLR, application-level web request metrics. Middleware and extensions using Metrics.Net.
  • Audit.NET - Small framework to audit .NET object changes.
  • BenchmarkDotNet - Powerful .NET library for benchmarking.
  • Foundatio - A common interface with in memory, redis, StatsD, and Metrics.NET implementations.
  • NBench - Performance benchmarking and testing framework for .NET applications.
  • OpenCover - Code coverage tool for .NET 2 and above (WINDOWS OS only), support for 32 and 64 processes with both branch and sequence points.

Compilers, Transpilers and Languages

  • roslyn - The .NET Compiler Platform ("Roslyn") provides open-source C# and Visual Basic compilers with rich code analysis APIs.
  • Sprache - Tiny C# Monadic Parser Framework.

Database

  • DBreeze - C# .NET MONO NOSQL (key value store embedded) ACID multi-paradigm database management system.
  • NoDb - "no database" file system storage for .NET Core/ASP.NET Core because not every project needs a database.
  • marten - Postgresql as a Document Database and Event Store for .NET Applications https://jasperfx.github.io/marten.
  • yessql - .NET document database working on any RDBMS.

Database Drivers

Date and Time

  • Exceptionless.DateTimeExtensions - DateTimeRange, Business Day and various DateTime, DateTimeOffset, TimeSpan extension methods.
  • FluentDateTime - Allows you to write cleaner DateTime expressions and operation. Partially inspired by Ruby DateTime Extensions.

Distributed Computing

  • Foundatio - Pluggable foundation blocks for building distributed apps.

E-Commerce and Payments

  • SimplCommerce - Super simple ecommerce system built on .NET Core.
  • Stripe - Typed .NET clients for stripe.com REST APIs.

Exceptions

Graphics

Functional Programming

Graphics

GUI

  • Avalonia - A multi-platform .NET UI framework (formerly known as Perspex).
  • AvaloniaEdit - The Avalonia-based text editor component forked from AvalonEdit
  • WinApi - A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.

IDE

  • rider - Cross-platform C# IDE based on the IntelliJ platform and ReSharper.
  • Omnisharp - Family of Open Source projects, each with one goal: To enable a great .NET experience in YOUR editor of choice.
  • Visual Studio Code - New type of tool that combines the simplicity of a code editor with what developers need for their core edit-build-debug cycle. Code provides comprehensive editing and debugging support, an extensibility model, and lightweight integration with existing tools.
  • Visual Studio Community - Free editor for individual developers, open source projects, academic research, education, and small professional teams.

Internationalization

IOC

  • Autofac - Addictive .NET IoC container.
  • DryIoc - Fast, small, full-featured IoC Container for .NET.
  • LightInject - Ultra lightweight IoC container https://www.lightinject.net.
  • SimpleInjector - Easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.
  • Stashbox - A lightweight, portable dependency injection framework for .NET based solutions.
  • StructureMap - Dependency Injection/Inversion of Control tool for .NET.

Logging

Machine Learning and Data Science

  • Spreads - Series and Panels for Real-time and Exploratory Analysis of Data Streams.

Mail

  • MailBody - Create transactional email with a fluent interface (.NET).
  • MailKit - Cross-platform .NET library for IMAP, POP3, and SMTP.
  • MailMergeLib - SMTP mail client library which provides comfortable mail merge capabilities for text, inline images and attachments, as well as good throughput and fault tolerance for sending mail messages.
  • MimeKit - Cross-platform .NET MIME creation and parser library with support for S/MIME, PGP, DKIM, TNEF and Unix mbox spools.
  • PreMailer.Net - C# library that moves your stylesheets to inline style attributes, for maximum compatibility with E-mail clients.
  • SendGrid Client - C# library for the SendGrid v3 mail endpoint.
  • StrongGrid - Client for SendGrid's v3 API. Not only allows you to send emails, but also allows you to bulk import contacts, manage lists and segments, create custom fields for your lists, etc. Also includes a parser for SendGrid Webhooks.

Mathematics

  • UnitConversion - Expansible Unit Conversion Library for .NET Core and .NET Framework.

Misc

  • AngleSharp - The ultimate angle brackets parser library. It parses HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specification. Comparable to beautifulsoup4 of python.
  • aspnetcore-health - Enables load balancers to monitor the status of deployed Web applications.
  • AutoMapper - Convention-based object-object mapper in .NET.
  • Castle.Core - Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter https://www.castleproject.org.
  • Chessie - Railway-oriented programming for .NET https://fsprojects.github.io/Chessie.
  • CommonMark.NET - The implementation of CommonMark specification in C# for converting Markdown documents to HTML.
  • consuldotnet - .NET API for Consul.
  • datatables - Microsoft ASP.NET server-side support and helpers for jQuery DataTables.
  • Docker.DotNet - .NET (C#) Client Library for Docker API.
  • Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
  • FluentFTP - FTP and FTPS client, with extensive FTP commands, SSL/TLS connections, hashing/checksums and more.
  • FluentValidation - Small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
  • Humanizer - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.
  • LibSass Host - .NET wrapper around the libSass library with the ability to support a virtual file system.
  • markdig - Fast, powerfull, CommonMark compliant, extensible Markdown processor for .NET.
  • Microphone - Lightweight framework to run self hosting REST services using Web Api or NancyFx ontop of a Consul or ETCD cluster.
  • NReco.LambdaParser - Parses string expressions (formulas, methods calls, conditions) to LINQ expression tree that can be compiled to lambda and evaluated.
  • NReco.PivotData - In-memory data cube with OLAP operations and PivotTable data model.
  • Ocelot - API Gateway created using .NET Core.
  • readline - Pure C# GNU-Readline like library for .NET/.NET Core.
  • reCAPTCHA - reCAPTCHA 2.0 for ASP.NET Core.
  • Relinq - With re-linq, it's now easier than ever to create full-featured LINQ providers.
  • ReverseMarkdown - Html to Markdown converter library.
  • PdfReport.Core - PdfReport.Core is a code first reporting engine, which is built on top of the iTextSharp.LGPLv2.Core and EPPlus.Core libraries.
  • PreStorm - Parallel REST Client for ArcGIS Server.
  • Polly - .NET 3.5 / 4.0 / 4.5 / PCL library that allows developers to express transient exception and fault handling policies such as Retry, Retry Forever, Wait and Retry or Circuit Breaker in a fluent manner.
  • Scrutor - Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
  • sharpcompress - Fully managed C# library to deal with many compression types and formats.
  • SmartFormat.NET - An extensible replacement for string.Format.
  • System.Linq.Dynamic.Core - The .NET Standard (.NET Core) version from the System Linq Dynamic functionality.
  • warden-stack - "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch.

ORM

  • Entity Framework Core - Familiar developer experience to previous versions of EF, including LINQ, POCO, and Code First support.
  • Dapper - Simple object mapper for .NET.
    • Dapper-FluentMap - Provides a simple API to fluently map POCO properties to database columns when using Dapper.
    • Dommel - Simple CRUD operations for Dapper.
  • EntityFramework-Plus - Entity Framework Utilities | Bulk Operations | Batch Delete | Batch Update | Query Cache | Query Filter | Query Future | Query Include | Audit
  • Limebean - Hybrid-ORM, designed to be simple to use and not totally hide SQL, while having all the nice things you expect from an ORM. Inspired by RedBeanPHP.
  • NEventStore - Persistence library used to abstract different storage implementations when using event sourcing as storage mechanism. This library is developed with a specific focus on DDD/CQRS applications.
  • NPoco - Simple microORM that maps the results of a query onto a POCO object. Project based on Schotime's branch of PetaPoco.
  • NReco.Data - Lightweight provider-independent DAL for SQL commands generation, CRUD operations and simple POCO mapping.
  • ServiceStack.OrmLite - Light, simple and fast convention-based POCO ORM.
  • SqlFu - Fast and versatile Micro-ORM.

Profiling

  • Glimpse - Lightweight, open-source, real-time diagnostics and insights profiler for .NET.
  • MiniProfiler - A simple but effective mini-profiler for ASP.NET websites.

Queue and Messaging

  • emitter - Free open source real-time messaging service that connects all devices. This publish-subscribe messaging API is built for speed and security.
  • EventStore - The open-source, functional database with Complex Event Processing in JavaScript. https://geteventstore.com
  • Foundatio - A common interface with in memory, redis and azure implementations.
  • MediatR - Simple, unambitious mediator implementation in .NET.
  • MediatR.Extensions.Microsoft.DependencyInjection - MediatR extensions for Microsoft.Extensions.DependencyInjection.
  • Mediator.Net - A simple mediator for .Net for sending command, publishing event and request response with pipelines supported.
  • MicroBus - Simple in process mediator for .NET.
  • netmq - 100% native C# implementation of ZeroMQ for .NET.
  • rabbitmq-dotnet-client - RabbitMQ .NET client https://www.rabbitmq.com.
  • RawRabbit - Modern .NET framework for communication over RabbitMq.
  • Rebus - Simple and lean service bus implementation for .NET.
  • Restbus - Messaging library for RabbitMq.
  • Tossit - Simple, easy to use library for distributed job/worker logic. Distributed messages handled by built in RabbitMQ implementation.

Scheduler and Job

SDKs

Security

  • HtmlSanitizer - Cleans HTML to avoid XSS attacks.
  • jose-jwt - Library for processing JOSE objects (JWT, JWA, JWS and related).
  • NWebsec - Security libraries for ASP.NET https://www.nwebsec.com.
  • roslyn-security-guard - Roslyn analyzers that aim to help security audit on .NET applications.
  • OwaspHeaders - .NET Core middleware for injecting the Owasp recommended HTTP Headers for increased security.
  • Security - Middleware for security and authorization of web apps.

Searching

  • AutoComplete - Persistent, simple, powerful and portable autocomplete library.
  • Elasticsearch.Net & NEST - Repository for both NEST and Elasticsearch.NET, the two official elasticsearch .NET clients.
  • ElasticsearchCRUD - Elasticsearch .NET API.
  • SolrExpress - Simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way.

Serialization

  • bond - Cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data. Bond is broadly used at Microsoft in high scale services.
  • Channels - Push based .NET Streams.
  • CsvHelper - Library to help reading and writing CSV files https://csvhelper.com.
  • Edi.Net - EDI Serializer/Deserializer. Supports EDIFact, X12 and TRADACOMS format.
  • ExtendedXmlSerializer - Extended Xml Serializer for .NET.
  • Jil - Fast .NET JSON (De)Serializer, Built On Sigil.
  • msgpack-cli - MessagePack implementation for Common Language Infrastructure / msgpack.org.
  • Newtonsoft.Json - Popular high-performance JSON framework for .NET.
  • protobuf-net - Protocol Buffers library for idiomatic .NET.
  • Schema.NET - Schema.org objects turned into strongly typed C# POCO classes for use in .NET. All classes can be serialized into JSON/JSON-LD and XML, typically used to represent structured data in the head section of html page.
  • ServiceStack.Text - JSON, JSV and CSV Text Serializers.
  • TinyCsvParser - Easy to use, easy to extend and high-performance library for CSV parsing with .NET.
  • Wire - Binary serializer for POCO objects.
  • YamlDotNet - .NET
  • ZeroFormatter - Fast binary (de)serializer for .NET.
  • YAXLib - XML Serialization Library for the .NET Framework and .NET Core. Extremely flexible and powerful.

Testing

  • Bogus - Simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
  • GenFu - Library you can use to generate realistic test data.
  • FakeItEasy - The easy mocking library for .NET.
  • FluentAssertions - Set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test.
  • moq.netcore - Most popular and friendly mocking framework for .NET.
  • MSpec - Popular testing framework for writing BDD-style tests.
  • MyTested.AspNetCore.Mvc - Fluent testing framework for ASP.NET Core MVC.
  • Netling - Load tester client for easy web testing.
  • NSpec - Battle hardened testing framework for C# that's heavily inspired by Mocha and RSpec.
  • NSubstitute - A friendly substitute for .NET mocking frameworks.
  • nunit - NUnit test runner for .NET Core.
  • shouldly - Should testing for .NET - the way Asserting Should be! https://shouldly.readthedocs.org/en/latest
  • SpecFlow - Pragmatic BDD solution for .NET. It uses the Gherkin specification language and integrates to Visual Studio.
  • Storyteller - Executable Specifications for .NET https://storyteller.github.io.
  • Stubbery - A simple library for creating and running Api stubs in .NET.
  • TestStack.BDDfy - The simplest BDD framework EVER!
  • xunit - Free, open source, community-focused unit testing tool for the .NET Framework.

Tools

  • CatLight - Status notifier for developers that monitors builds and tasks in the project. Built using .Net Core and Electron.
  • docfx - Tools for building and publishing API documentation for .NET projects https://dotnet.github.io/docfx
  • dotnetfiddle - .NET sandbox for developers to quickly try out code and share code snippets.
  • EntryPoint - Composable CLI (Command Line) Argument Parser for .Net Core & .Net Framework 4.5+.
  • gitignore.io - Create useful .gitignore files for your project https://www.gitignore.io.
  • GitInfo - Git and SemVer Info from MSBuild, C# and VB.
  • ICanHasDotnetCore - Scans uploaded packages.config files or GitHub repository and determines whether the nuget packages target .NET Standard https://icanhasdot.net.
  • json2csharp - Generate C# classes from JSON.
  • OctoLinker - Navigate through projects.json files efficiently with the OctoLinker browser extension for GitHub.
  • Opserver - Stack Exchange's Monitoring System.
  • ShareX - Free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to over 80 supported destinations you can choose from. https://getsharex.com
  • X.Web.Sitemap – Simple sitemap generator for .NET and .NET Core
  • X.Web.RSS – Simple RSS Feed generator for .NET and .NET Core

Web Framework

Web Socket

Windows Service

  • dotnet-win32-service - Set up and run as Windows Service directly from .NET Core.
  • Topshelf - Easy service hosting framework for building Windows services using .NET. 4.5.x or above

Workflow

  • CoreWF - Port of Windows Workflow Foundation (WF) to .NET Core.
  • workflow-core - Lightweight workflow engine for .NET Standard.

Starter Kits

  • ASP.NET Core Starter Kit - Opinionated boilerplate for web development based on .NET Core, Kestrel, GraphQL on the backend and Babel, Webpack, React and Redux on the frontend. This boilerplate comes in both C# and F# flavors.
  • ASP.NET Boilerplate - ASP.NET Boilerplate is a starting point for new modern web applications using best practices and most popular tools. It's aimed to be a SOLID model, a general-purpose application framework and a project template. 4.5.x or above
  • aspnetcore-spa generator - Yeoman generator to build a brand-new ASP.NET Core single page application that uses Angular 2 / React / React With Redux / Knockout / Aurelia on the client.
  • bitwarden-core - The core infrastructure backend (API, database, etc) https://bitwarden.com.
  • dotNetify - Simple, lightweight, yet powerful way to build real-time HTML5/C# .NET web apps.
  • generator-aspnet - yo generator for ASP.NET Core.
  • react-aspnet-boilerplate - Starting point for building isomorphic React applications with ASP.NET Core 1, leveraging existing techniques.
  • saaskit - Developer toolkit for building SaaS applications.

Sample Projects

Articles

Books

Videos

Podcasts

Community

License

CC0

To the extent possible under law, thangchung has waived all copyright and related or neighboring rights to this work.

About

🐝 A collection of awesome .NET core libraries, tools, frameworks and software

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 100.0%