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.
- General
- Frameworks, Libraries and Tools
- API
- Application Frameworks
- Application Templates
- Authentication and Authorization
- Build Automation
- Bundling and Minification
- Caching
- Cryptography
- CMS
- Code Analysis and Metrics
- Database Drivers
- E-Commerce and Payments
- Graphics
- Functional Reactive Programming
- IDE
- Internationalization
- IOC
- Logging
- Mathematics
- Misc
- ORM
- Profiling
- Queue and Messaging
- Scheduler and Job
- SDKs
- Security
- Searching
- Serialization
- Testing
- Tools
- Web Framework
- Web Socket
- Windows Service
- Starter Kits
- Sample Projects
- Articles
- Books
- Videos
- Podcasts
- Community
- 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.
- autorest - Swagger (OpenAPI) Specification code generator featuring C# and Razor templates. Supports C#, Java, Node.js, TypeScript, Python and Ruby.
4.5.x or above
- LightNode - Micro RPC/REST Framework built on OWIN http://neuecc.github.io/LightNode.
- NSwag - The Swagger API toolchain for .NET, Web API and TypeScript http://NSwag.org.
- RESTClient .NET - Simple REST Client for all .NET platforms.
- Swashbuckle - Seamlessly adds a swagger to WebApi projects.
- WebAPIContrib for ASP.NET CORE - Community Contributions for ASP.NET Core.
- GraphQL
- graphql-dotnetcore - GraphQL for .NET Core based on https://github.com/graphql/graphql-js.
- graphql-dotnet - GraphQL for .NET.
- parser - A lexer and parser for GraphQL in .NET.
- 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.
- ExtCore - Free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core 1.0.
- 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.
- ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all https://servicestack.net.
- Steeltoe OSS - .NET toolkit for common microservice patterns.
- ASP.NET MVC 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.
- Identity - ASP.NET Core Identity is the membership system for building ASP.NET Core web applications, including membership, login, and user data.
- IdentityServer - IdentityServer for ASP.NET Core 1.0
- 20|20 IdentityServer4.EntityFrameworkCore - Entity Framework Core persistence layer for IdentityServer v4.
- openiddict - Easy-to-use OpenID Connect server for ASP.NET Core.
- stormpath-sdk - Build simple, secure web applications with Stormpath and ASP.NET Core.
- stuntman - Library for impersonating users during development leveraging ASP.NET Identity.
- cake-build - Cross platform build automation system. http://cakebuild.net
- Colorful.Console - Style your C# console output! http://colorfulconsole.com
- go-dotnet - Go wrapper for the .NET Core Runtime.
- msbuild - The Microsoft Build Engine is a platform for building applications.
- vsts-agent - Visual Studio Team Services Build and Release Agent.
- 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.
- CacheManager - Open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features. http://cachemanager.net
- Foundatio - Pluggable foundation blocks for building distributed apps.
- Microsoft Caching - Libraries for in-memory caching and distributed caching.
- Stack Exchange Redis - High performance general purpose redis client for .NET languages (C# etc).
- 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.
- 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.
- 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
- NBench - Performance benchmarking and testing framework for .NET applications.
4.5.x or above
- OpenCover - Code coverage tool for .NET 2 and above (WINDOWS OS only), support for 32 and 64 processes with both branch and sequence points.
- LiteDB - .NET NoSQL Document Store in a single data file - http://www.litedb.org.
work-around for .NET Core at
#219 - MongoDB.Driver - .NET Driver for MongoDB.
Stable version only works for 4.5.x, but beta available for .NET Core 1.0
- mysql-connector-net - Connector/Net is a fully-managed ADO.NET driver for MySQL. https://dev.mysql.com/downloads/connector/net
- Neo4jClient - .NET client binding for Neo4j.
- npgsql - .NET data provider for PostgreSQL. It allows any program developed for .NET framework to access a PostgreSQL database server. It is implemented in 100% C# code. PostgreSQL versions since 9.1 are officially supported, others may work. http://www.npgsql.org
- ravendb - Linq enabled document database for .NET.
- RethinkDb.Driver - C#/.NET RethinkDB driver with 100% ReQL API coverage.
- SimplCommerce - Super simple ecommerce system built on .NET Core.
- Stripe - Typed .NET clients for stripe.com REST APIs.
- ImageProcessor - Cross-platform library for processing of image files written in C# http://imageprocessor.org
- ReactiveUI - A MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform.
- Rx.NET - The Reactive Extensions for .NET.
- sodium - Functional Reactive Programming (FRP) Library.
4.5.x or above
- 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.
- Localization - Localization abstractions and implementations for ASP.NET Core applications.
- nodatime - Better date and time API for .NET http://nodatime.org.
- Autofac - Addictive .NET IoC container.
- DryIoc - Fast, small, full-featured IoC Container for .NET.
- LightInject - Ultra lightweight IoC container http://www.lightinject.net.
- SimpleInjector - Easy, flexible, and fast Dependency Injection library that promotes best practice to steer developers towards the pit of success.
- StructureMap - Dependency Injection/Inversion of Control tool for .NET.
- common-logging - Portable logging abstraction for .NET http://net-commons.github.io/common-logging
- dnxcore-logging-logstash - Logstash logging extension for .NET Core applications with UDP and Redis transports.
- serilog - Simple .NET logging with fully-structured events.
- NLog - Advanced .NET, Silverlight and Xamarin Logging.
- Q42.Logging.ApplicationInsights - Log appender for the build in ASP.NET Core logging to send all logs to Application Insights.
- MailKit - Cross-platform .NET library for IMAP, POP3, and SMTP.
- PreMailer.Net - C# library that moves your stylesheets to inline style attributes, for maximum compatibility with E-mail clients.
- 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.
- UnitConversion - Expansible Unit Conversion Library for .NET Core and .NET Framework
- AutoMapper - Convention-based object-object mapper in .NET.
- Castle.Core - Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter http://www.castleproject.org.
- CommonMark.NET - The implementation of CommonMark specification in C# for converting Markdown documents to HTML.
- consuldotnet - .NET API for Consul.
- CoreWF - Port of Windows Workflow Foundation (WF) to .NET Core.
- datatables - Microsoft ASP.NET server-side support and helpers for jQuery DataTables.
- Docker.DotNet - .NET (C#) Client Library for Docker API.
- 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.
- language-ext - C# functional language extensions and 'Erlang like' concurrency 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.
- reCAPTCHA - reCAPTCHA 2.0 for ASP.NET Core.
- Relinq - With re-linq, it's now easier than ever to create full-featured LINQ providers.
- 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.
- 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.
- 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.
- NoDb - "no database" file system storage for .NET Core/ASP.NET Core because not every project needs a database.
- 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.
- yessql - .NET document database working on any RDBMS.
- Glimpse - Lightweight, open-source, real-time diagnostics and insights profiler for .NET.
- MediatR - Simple, unambitious mediator implementation in .NET.
- MediatR.Extensions.Microsoft.DependencyInjection - MediatR extensions for Microsoft.Extensions.DependencyInjection.
- MicroBus - Simple in process mediator for .NET.
- rabbitmq-dotnet-client - RabbitMQ .NET client https://www.rabbitmq.com.
- RawRabbit - Modern .NET framework for communication over RabbitMq.
- Restbus - Messaging library for RabbitMq.
- netmq - 100% native C# implementation of ZeroMQ for .NET.
- Chroniton.NetCore - Lightweight robust library for running tasks(jobs) on schedules.
- FluentScheduler - Automated job scheduler with fluent interface.
- HangfireIO - Easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET apps http://hangfire.io.
- quartznet - Quartz Enterprise Scheduler .NET http://www.quartz-scheduler.net
- stateless - Simple library for creating state machines in C# code.
- NetTelegramBotApi - C# client library for building Telegram bot https://core.telegram.org/bots/api.
- octokit.net - GitHub API client library for .NET.
- Open-XML-SDK-for-NET-Platform-Standard - .NET Platform Standard implementation of Open XML SDK 2.5.
- tweetinvi - Intuitive .NET C# library to access the Twitter REST and STREAM API.
- 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.
- Security - Middleware for security and authorization of web apps.
- Elasticsearch.Net & NEST - Repository for both NEST and Elasticsearch.NET, the two official elasticsearch .NET clients.
- ElasticsearchCRUD - Elasticsearch .NET API.
- 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.
- SolrExpress - Simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way.
- 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 http://csvhelper.com.
- ExtendedXmlSerializer - Extended Xml Serializer for .NET.
- 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.
- ServiceStack.Text - JSON, JSV and CSV Text Serializers.
- TinyCsvParser - Easy to use, easy to extend and high-performance library for CSV parsing with .NET.
- YamlDotNet - .NET library for YAML.
- 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.
- 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! http://shouldly.readthedocs.org/en/latest
- SpecFlow - Pragmatic BDD solution for .NET. It uses the Gherkin specification language and integrates to Visual Studio.
- 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.
- gitignore.io - Create useful .gitignore files for your project https://www.gitignore.io.
- GitInfo - Git and SemVer Info from MSBuild, C# and VB.
- 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
- ReactJS.NET - .NET library for JSX compilation and server-side rendering of React components.
- SignalR Server - Real-time web functionality for web apps, including server-side push.
- WampSharp - C# implementation of The Web Application Messaging Protocol - Protocol that provides messaging patterns of Remote Procedure Calls and Publish/Subscribe over WebSockets.
- 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
- 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.
- 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.
- AlbumViewerVNext - West Wind Album Viewer ASP.NET 5 Sample.
- allReady - Open-source solution focused on increasing awareness, efficiency and impact of preparedness campaigns as they are delivered by humanitarian and disaster response organizations in local communities. http://www.htbox.org/projects/allready
- AspNet5GeoElasticsearch - ASP.NET Core MVC Geo Elasticsearch Swashbuckle Swagger.
- aspnet-servicediscovery-patterns - Samples of implementing Service Discovery patterns with ASP.NET Core.
- cloudscribe - ASP.NET Core Multi-tenant web application foundation.
- distributed-playground - Distributed service playground with Vagrant, Consul, Docker & ASP.NET Core.
- DotNetClub - Tiny club written in ASP.NET Core.
- Entropy - Chaotic experimental playground for new features and ideas - check here for small and simple samples for individual features.
- magazine-website - Magazine website (using .NET Core, ASP.NET Core, EF Core) with DDD, CQRS, microservices, asynchronous programming applied.
- MegaMine - Open source mining solution that helps miners in extracting Gold, Quartz, Granite etc. This solution is built using ASP.NET Core and AngularJS utilizing multiple light weight components in a Microservices way.
- [minicompiler](Minification, bundling and compiling sample) - Minification, bundling and compiling sample.
- MusicStore - Sample MusicStore application that uses MVC and Entity Framework.
- ReactiveTraderCloud - Real-time trading platform demo showcasing reactive programming principles applied across the full application stack.
- PhotoGallery - Cross-platform Single Page Applications with ASP.NET Core, Angular 2 & TypeScript http://wp.me/p3mRWu-11L.
- Practical ASP.NET Core - A daily updated micro samples of ASP.NET Core features and facilities.
- Basic knowledge
- A guide to the .NET Core projects on GitHub
- Porting .NET Framework Library to .NET Core
- The comparison between .NET Core and Nodejs at here, here and here
- Understanding ASP.NET Core Initialization
- Entity Framework Core
- Security
- Configuration and deployment
- ASP.NET Core Application Development: Building an application in four sprints (Developer Reference)
- ASP.NET Core 1.0 High Performance
- Building Microservices with ASP.NET Core: Develop, Test, and Deploy Cross-Platform Services in the Cloud
- C# 6 and .NET Core 1.0: Modern Cross-Platform Development
- Microservices in .NET Core: with C#, the Nancy framework, and OWIN middleware
- Professional C# 6 and .NET Core 1.0
- .NET Core in Action
- ASP.NET
- .NET Foundation
- Channel9
- Stack Overflow
- .NET Core
- CoreCLR
- ASP.NET Core
- ASP.NET Core MVC
- ASP.NET Core 1.0
- Entity Framework Core
To the extent possible under law, thangchung has waived all copyright and related or neighboring rights to this work.