Skip to content

Latest commit

 

History

History
493 lines (438 loc) · 51.5 KB

README.md

File metadata and controls

493 lines (438 loc) · 51.5 KB

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.
  • 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.
  • protoactor-dotnet - Ultra fast distributed actors for Golang and C# http://proto.actor.
  • 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

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

GUI

  • Avalonia - A multi-platform .NET UI framework (formerly known as Perspex).
  • AvaloniaEdit - The Avalonia-based text editor component forked from AvalonEdit

Functional Programming

  • CSharpFunctionalExtensions - Functional Extensions for C#.
  • language-ext - C# functional language extensions and 'Erlang like' concurrency system.
  • NetMQ.ReactiveExtensions - Effortlessly send messages anywhere on the network using Reactive Extensions (RX). Transport protocol is ZeroMQ.
  • Optional - A robust option type for C#.
  • 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

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.
  • 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 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.
  • Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
  • 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.
  • 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.
  • DBreeze - C# .NET MONO NOSQL ( key value store embedded ) ACID multi-paradigm database management system.
  • 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.
  • marten - Postgresql as a Document Database and Event Store for .NET Applications http://jasperfx.github.io/marten.
  • 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.
  • MiniProfiler - A simple but effective mini-profiler for ASP.NET websites.

Queue and Messaging

Scheduler and Job

SDKs

Security

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 http://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.
  • 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! http://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 http://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 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.
  • 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

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.