awesome-dotnet-core

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

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

  • akka.net - Toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono. Stable version only works for 4.5.x, but development version is available for .NET Core 1.0
  • 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.
  • 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.
  • 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 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.
  • kendo-ui-core - An HTML5, jQuery-based widget library for building modern web apps. http://www.telerik.com/kendo-ui.
  • JavaScriptServices - Microsoft ASP.NET Core JavaScript Services.
  • 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.

Authentication and Authorization

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

  • 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).

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

  • 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.

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.
  • 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.

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 Drivers

E-Commerce and Payments

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

Graphics

Functional Programming

  • CSharpFunctionalExtensions - Functional Extensions for C#.
  • language-ext - C# functional language extensions and ‘Erlang like’ concurrency system.
  • 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.
  • Optional - A robust option type for C#.
  • sodium - Functional Reactive Programming (FRP) Library. 4.5.x or above

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 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.

Logging

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.

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.
  • AutoMapper - Convention-based object-object mapper in .NET.
  • Castle.Core - Castle Core, including Castle DynamicProxy, Logging Services and DictionaryAdapter http://www.castleproject.org.
  • Chessie - Railway-oriented programming for .NET http://fsprojects.github.io/Chessie.
  • 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.
  • 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.
  • 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.

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.
  • 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.

Profiling

  • Glimpse - Lightweight, open-source, real-time diagnostics and insights profiler for .NET.

Queue and Messaging

Scheduler and Job

SDKs

Security

Searching

  • 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 http://csvhelper.com.
  • 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.
  • 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 library for YAML.

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.
  • 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.

Tools

  • docfx - Tools for building and publishing API documentation for .NET projects http://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.
  • 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

Web Framework

  • ReactJS.NET - .NET library for JSX compilation and server-side rendering of React components.

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

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.
  • 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

  • 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.
  • guidance-identity-management-for-multitenant-apps - How to manage user identities in a multitenant app on Microsoft Azure, using Azure Active Directory for authentication.
  • 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.
  • 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.

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.

Related Repositories

awesome-dotnet-core

awesome-dotnet-core

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

awesome-dotnet-core

awesome-dotnet-core

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

awesome-dotnet-core

awesome-dotnet-core

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

awesome-dotnet-core

awesome-dotnet-core

Awesome dotnet core ...

awesome-dotnet-core

awesome-dotnet-core

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