Tổng hợp rất nhiều tài liệu hữu ích về lập trình .NET Core
Tìm ở đây giới thiệu tổng hợp rất nhiều các tài nguyên khác nhau: mã nguồn các dự án, ví dụ mẫu, sách, bài báo, sách, video, tài liệu tham khảo, v.v. cho phát triển các ứng dụng sử dụng công nghệ .NET CORE của Microsoft. Các tài nguyên này, Tìm ở đây tham khảo từ GitHub thanhchung và thấy rất hữu ích nên chia sẻ lại cho các bạn đi theo công nghệ .NET có thể tham khảo.
Chúc các bạn thành công!
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.
- Clean Code .NET/.NET Core – Clean Code concepts adapted for .NET / .NET Core.
Frameworks, Libraries and Tools
API
- 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
- aspnet-api-versioning – set of libraries which add service API versioning to ASP.NET Web API, OData with ASP.NET Web API, and ASP.NET Core.
- AspNetCoreRateLimit – ASP.NET Core rate limiting middleware.
- CondenserDotNet – API Condenser / Reverse Proxy using Kestrel and Consul, Including light weight consul library.
- Flurl – Fluent URL builder and testable HTTP for .NET https://flurl.dev.
- GraphQL
- Dapper.GraphQL – A library designed to integrate the Dapper and graphql-dotnet projects with ease-of-use in mind and performance as the primary concern.
- graphql-aspnetcore – ASP.NET Core MiddleWare to create a GraphQL end-point.
- graphql-convention – This library is a complementary layer on top that allows you to automatically wrap your .NET classes into GraphQL schema definitions using existing property getters and methods as field resolvers
- graphiql-dotnet – GraphiQL middleware for ASP.NET Core.
- graphql-dotnetcore – GraphQL for .NET Core based on https://github.com/graphql/graphql-js.
- graphql-dotnet – GraphQL for .NET.
- graphql-dotnet-server – GraphQL for .NET – Subscription Transport WebSockets.
- Hot Chocolate – GraphQL server for .Net Core and .NET Framework.
- FSharp.Data.GraphQL – FSharp implementation of Facebook GraphQL query language https://fsprojects.github.io/FSharp.Data.GraphQL.
- parser – A lexer and parser for GraphQL in .NET.
- tanka-graphql – GraphQL execution and server libraries supporting SignalR, Apollo, schema manipulation and other features familiar from Apollo and graphql-js
- halcyon – HAL implementation for ASP.NET.
- JSON API .NET Core – Framework for building json:api compliant APIs with the goal of eliminating RESTful boilerplate.
- LightNode – Micro RPC/REST Framework built on OWIN http://neuecc.github.io/LightNode.
- NetCoreStack.Proxy – The type-safe, distributed REST library for .NET Standard 2.0 (NetCoreStack Flying Proxy)
- NSwag – The Swagger/OpenAPI toolchain for .NET, Web API and TypeScript. http://NSwag.org.
- OData – The Open Data Protocol (OData) enables the creation of HTTP-based data services, which allow resources identified using Uniform Resource Identifiers (URIs) and defined in an abstract data model, to be published and edited by Web clients using simple HTTP messages.
- OpenAPI Generator – OpenAPI Generator allows generation of API client libraries (e.g. C#, TypeScript, etc), server stubs (ASP.NET Core, NancyFx, etc), documentation and configuration automatically given an OpenAPI Spec (v2, v3).
- refit – The automatic type-safe REST library for Xamarin and .NET.
- RestClient.Net – Cross Platform REST Client for all C# platforms
- RestEase – Easy-to-use typesafe REST API client library, which is simple and customisable.
- RestLess – The automatic type-safe-reflectionless REST API client library for .Net Standard.
- Restier – RESTier is a RESTful API development framework for building standardized, OData V4 based RESTful services on .NET platform.
- Restsharp – Simple REST and HTTP API Client for .NET
- Swashbuckle – Seamlessly adds a swagger to WebApi projects.
- MicroElements.Swashbuckle.FluentValidation – Adds FluentValidation rules to swagger.
- Swashbuckle.AspNetCore.Filters – A bunch of useful filters for Swashbuckle.AspNetCore.
- WebAnchor – Web Anchor provides type-safe, testable and flexible, runtime-generated access to web resources.
- WebAPIContrib for ASP.NET CORE – Community Contributions for ASP.NET Core.
Application Frameworks
- ASP.NET Boilerplate – 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 around them to provide you a SOLID development experience.
- Abp vNext – Abp vNext is the next generation of the open source ASP.NET Boilerplate framework. It’s a complete architecture and strong infrastructure to create modern web applications! Follows best practices and conventions to provide you a SOLID development experience.
- AsyncEx – A helper library for async/await.
- 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.
- Aggregates.NET – Aggregates.NET is a framework to help developers integrate the excellent NServiceBus and EventStore libraries together.
- 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.
- Butterfly Server .NET – Allows building real-time web apps and native apps with minimal effort. Define a Web API and Subscription API that automatically synchronizes datasets across connected clients.
- CAP – An EventBus with local persistent message functionality for system integration in SOA or Microservice architecture.
- Carter – Carter is a library that allows Nancy-esque routing for use with ASP.Net Core.
- Chromely – Lightweight Alternative to Electron.NET, Electron for .NET/.NET Core.
- Cinchoo ETL – ETL Framework for .NET (Parser / Writer for CSV, Flat, Xml, JSON, Key-Value formatted files).
- CQRSlite – Lightweight framework for helping writing CQRS and Eventsourcing applications in C#.
- dataaccess_aspnetcore – The DataAccess Toolbox contains the base classes for data access in ASP.NET Core with Entity Framework Core 1.0 using the unit-of-work and repository pattern.
- DNTFrameworkCore – Lightweight and Extensible Infrastructure for Building High Quality Web Applications Based on ASP.NET Core.
- DotNetCorePlugins – .NET Core library for loading assemblies as a plugin.
- DotnetSpider – DotnetSpider, a .NET Standard web crawling library similar to WebMagic and Scrapy. It is a lightweight ,efficient and fast high-level web crawling & scraping framework for .NET.
- DotNetty – Port of netty, event-driven asynchronous network application framework.
- dotvvm – Open source MVVM framework for Web Apps.
- ElectronNET – Build cross platform desktop apps with ASP.NET NET Core.
- EmbedIO – A tiny, cross-platform, module based web server for .NET Framework and .NET Core.
- Ether.Network – Ether.Network is an open source networking library that allow developers to create simple, fast and scalable socket server or client applications over the TCP/IP protocol.
- EventFlow – Async/await first CQRS+ES and DDD framework for .NET.
- ExcelDataReader – Lightweight and fast library written in C# for reading Microsoft Excel files.
- ExtCore – Free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core 1.0.
- Finbuckle.MultiTenant – Finbuckle.MultiTenant is a .NET Standard library for multitenant support designed for ASP.NET 2.0+. It provides functionality for tenant resolution, per-tenant app configuration, and per-tenant data isolation.
- fission – Fast Serverless Functions for Kubernetes.
- 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.
- Halibut – A secure communication stack for .NET using JSON-RPC over SSL.
- MagicOnion – gRPC based HTTP/2 RPC Streaming Framework for .NET, .NET Core and Unity.
- MassTransit – Distributed Application Framework for .NET.
- microdot – An open source .NET microservices framework.
- MoreLINQ – Extensions to LINQ to Objects.
- Nancy – Lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono.
- opencvsharp – .NET Framework wrapper for OpenCV.
- 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.
- Prism – Prism is a framework for building loosely coupled, maintainable, and testable XAML applications in WPF, Windows 10 UWP, and Xamarin Forms.
- protoactor-dotnet – Ultra fast distributed actors for Golang and C# http://proto.actor.
- resin – 16-bit wide vector space search engine with HTTP API and pluggable read/write pipelines.
- 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.
- Strathweb.TypedRouting.AspNetCore – A library enabling strongly typed routing in ASP.NET Core MVC projects.
- surging – Surging is a micro-service engine that provides a lightweight, high-performance, modular RPC request pipeline. The service engine supports http, TCP, WS, Mqtt, UDP, and DNS protocols. It uses ZooKeeper and Consul as a registry, Hash Algorithms, random, polling, pressure minimum priority as a load balancing algorithm, built-in service governance to ensure reliable RPC communication.
- Xer.Cqrs – A simple library for creating applications based on the CQRS pattern with support for attribute routing and hosted handlers. Developed in C# targeting .NET Standard 1.0.
- X.PagedList – Library for easily paging through any IEnumerable/IQueryable in ASP.NET/ASP.NET Core.
Application Templates
- .NET Boxed – Project templates with batteries included, providing the minimum amount of code required to get you going. Includes ASP.NET Core API and GraphQL Templates.
- aspnet-core-react-template – ASP.NET Core 2.0 / React SPA Template App.
- AspNetCoreSpa – Asp.Net Core 2+ & Angular 6 SPA with Angular CLI full featured application.
- ASP.NET-MVC-Template – A ready-to-use templates for ASP.NET MVC 5 and ASP.NET Core with repositories, services, models mapping and DI and StyleCop warnings fixed.
- AddFeatureFolders – Enable feature folders for MVC controllers and views in ASP.NET Core.
- Angular Visual Studio Webpack Starter – Template for Webpack, Visual Studio, ASP.NET Core and Angular. Both the client and the server side of the application are implemented inside one ASP.NET Core project which makes it easier to deploy.
- CleanArchitecture – A starting point for Clean Architecture with ASP.NET Core. Clean Architecture is just the latest in a series of names for the same loosely-coupled, dependency-inverted architecture. You will also find it named hexagonal, ports-and-adapters, or onion architecture.
- CleanArchitecture (SPA) – Solution template for creating a Single Page App (SPA) with Angular 8 and ASP.NET Core 3 following the principles of Clean Architecture
- DNTFrameworkCoreTemplate – Boilerplate project templates based on DNTFrameworkCore
- dotnet new caju – dotnet new templates with awesome architecture styles! Increases productivity to design layered applications based on Hexagonal, Clean or Event Sourcing architectures styles. It supports multiple data access frameworks (MongoDB, EntityFramework, Dapper or Kafka) and it is completely testable.
- EISK – Provides developer resources with simple use cases to build scalable applications on top of .NET Core with architectural best practices (DDD, onion architecture etc)
- JavaScriptServices – Microsoft ASP.NET Core JavaScript Services.
- kendo-ui-core – An HTML5, jQuery-based widget library for building modern web apps. http://www.telerik.com/kendo-ui.
- QuickApp – ASP.NET Core / Angular4 startup project template with complete login, user and role management.
- Serenity – Serenity is an ASP.NET MVC / TypeScript application platform designed to simplify and shorten development of data-centric business applications with a service based architecture.
- 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
- AspNet.Security.OpenIdConnect.Server – OpenID Connect/OAuth2 server framework for OWIN/Katana and ASP.NET Core.
- Auth0 – Hosted, enterprise-grade platform for modern identity.
- Casbin.NET – Authorization library that supports access control models like ACL, RBAC, ABAC in C#
- 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 & 2.0
- IdentityServer4.EntityFramework – EntityFramework persistence layer
- IdentityServer4.MongoDB – MongoDB persistence layer
- IdentityServer4.EntityFrameworkCore – Entity Framework Core persistence layer
- IdentityServer4.Templates – dotnet cli templates for IdentityServer4.
- Okta – Hosted, enterprise-grade platform for modern identity.
- openiddict – Easy-to-use OpenID Connect server for ASP.NET Core.
- oidc-debugger – OAuth 2.0 and OpenID Connect debugging tool.
- stormpath-sdk – Build simple, secure web applications with Stormpath and ASP.NET Core.
- stormpath-sdk – Build simple, secure web applications with Stormpath and ASP.NET Core.(Deprecated: It will longer get updated as of March 2017 after joining OKTA)
- stuntman – Library for impersonating users during development leveraging ASP.NET Identity.
Blockchain
- BTCPayServer – A cross platform, self-hosted server compatible with Bitpay API.
- Meadow – An integrated Ethereum implementation and tool suite focused on Solidity testing and development.
- NBitcoin – Comprehensive Bitcoin library for the .NET framework.
- NBlockchain – .NET standard library for building blockchain enabled applications
- NBXplorer – A Bitcoin and Altcoin lightweight block explorer.
- NEO – Open Network For Smart Economy.
- Nethereum – Bringing the love of Ethereum to .NET.
- Nethermind – .NET Core Ethereum client
- StratisBitcoinFullNode – Simple and affordable end-to-end solutions for development, testing and deployment of native C# blockchain applications on the .Net framework.
- Trezor.Net – Cross platform C# library for talking to the Trezor Hardwarewallet
- WalletWasabi – Privacy focused, ZeroLink compliant Bitcoin wallet.
Bot
- BotSharp – The Open Source AI Chatbot Platform Builder in 100% C# Running in .NET Core with Machine Learning algorithm.
- NadekoBot – Open source, general-purpose Discord chat bot written in C#.
- Telegram.Bot – C# Telegram Bot API library.
- Funogram – F# Telegram Bot Api library.
Build Automation
- cake-build – Cross platform build automation system.
- CatLight – Status notifier for developers that monitors builds and tasks in the project. Built using .Net Core and Electron.
- Colorful.Console – Style your C# console output!
- dotnet-docker – The base Docker images for working with .NET Core and the .NET Core Tools.
- Dockerize.NET – .NET Cli Tool to package your .NET Core Application into a docker image: ‘dotnet dockerize’
- FlubuCore – A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
- GitInfo – Git and SemVer Info from MSBuild, C# and VB.
- GitVersioning – Stamp your assemblies and NuGet packages with a version from a single, simple version.txt file and include git commit IDs for non-official builds.
- go-dotnet – Go wrapper for the .NET Core Runtime.
- Image2Docker – PowerShell module which ports existing Windows application workloads to Docker.
- LocalAppVeyor – Run your AppVeyor builds, locally.
- msbuild – The Microsoft Build Engine is a platform for building applications.
- Nuke – Cross-platform build automation system.
- Opserver – Stack Exchange’s Monitoring System.
- vsts-agent – Visual Studio Team Services Build and Release Agent.
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.michaco.net
- EasyCaching – Open source caching library that contains basic usages and some advanced usages of caching which can help us to handle caching more easier.
- Faster – Fast key-value store from Microsoft Research.
- 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).
CMS
- Awesome-CMS-Core – Awesome CMS Core is an open source CMS built using ASP.Net Core & ReactJS with module separation concern in mind and provide lastest trend of technology
- Blogifier.Core – ASP.NET applications to provide common blogging functionality.
- Cofoundry – Open source .NET Core CMS and modular application framework. Code-first, unobtrusive and extensible.
- CoreWiki – Simple ASP.NET Core wiki that we are working on during live coding streams.
- dasblog-core – The original DasBlog reimagined with ASP.NET Core
- Lynicon – O/S ASP.Net Core/.Net Core CMS with paid for modules: JSON content, works with variety of data stores, c# content types
- Miniblog – An ASP.NET Core blogging engine.
- Mixcore CMS – Open Source CMS powered by DotNet Core. Mixcore CMS is a scalable, open platform for web content management and digital experiences. Mixcore CMS provides deep capabilities and endless flexibility on the web.
- NetCoreCMS – An Open source ASP.NET Core 2.0 CMS. It currently supports MySQL and planned to implement MSSQL, SQLite and PostgreSQL. Also it is a modular CMS supports theme, skin, custom layout, widgets, multiple language (En, BN).
- Orchard Core CMS – Open Source Content Management System built with ASP.NET Core on top of a Modular and Extensible Application Framework.
- Piranha CMS – A Lightweight & Unobtrusive Open Source CMS for ASP.NET Core and Entity Framework Core.
- 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.
- Swastika I/O Core CMS – Open source ASP.NET Core 2.x CMS. It currently supports MS SQL and planned to implement MSSQL, SQLite in the near future. It has many built-in features out of the box like multilanguage support, theme, template…
- Umbraco – An extensible and friendly Open source ASP.NET Core CMS
- Weapsy – Open source ASP.NET Core CMS based on DDD and CQRS. It supports MSSQL, MySQL, SQLite and PostgreSQL out of the box.
- Wyam – Modular static content and static site generator.
- ZKEACMS – Visual design, build site onlie by drag and drop.
Code Analysis and Metrics
- awesome-static-analysis – Curated list of static analysis tools, linters and code quality checkers for various programming languages.
- Code Analysis
- CodeFormatter – Tool that uses Roslyn to automatically rewrite the source to follow netfx coding styles. Nuget Package
- DevSkim – A set of IDE plugins and rules that provide security “linting” capabilities.
- RefactoringEssentials – Refactoring Essentials for Visual Studio.
- roslyn-analyzers – .NET Compiler Platform (“Roslyn”) Analyzers.
- StyleCopAnalyzers – StyleCop rules using the .NET Compiler Platform.
- Metrics
- AppMetrics – 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.
- Audit.NET – Small framework to audit .NET object changes.
- BenchmarkDotNet – Powerful .NET library for benchmarking.
- coverlet – Cross platform code coverage library for .NET Core.
- Foundatio – A common interface with in memory, redis, StatsD, and Metrics.NET implementations.
- MiniCover – Minimalist Code Coverage Tool for .NET Core.
- NBench – Performance benchmarking and testing framework for .NET applications.
- Nexogen.Libraries.Metrics – Library for collecting application metrics in .NET and exporting them to Prometheus.
- OpenCover – Code coverage tool for .NET 2 and above (WINDOWS OS only), support for 32 and 64 processes with both branch and sequence points.
- PerformanceMonitor – .NET Core Application Performance Monitor.
- prometheus-net – .NET Client for https://prometheus.io.
- Prometheus.Client – .NET Client for Prometheus.
- Prometheus.Client.MetricPusher – Push metrics to a PushGateaway for the Prometheus.Client.
- Prometheus.Client.AspNetCore – Middleware for the Prometheus.Client.
- Prometheus.Client.MetricServer – MetricServer for the Prometheus.Client.
- Prometheus.Client.HttpRequestDurations – Metrics logging of request durations for the Prometheus.Client.
Compression
- lz4net – Ultra fast compression algorithm for all .NET platforms.
- sharpcompress – Fully managed C# library to deal with many compression types and formats.
Compilers, Transpilers and Languages
- Fable – F# to JavaScript Compiler.
- fparsec – A parser combinatory library for F# and C#.
- IL2C – A translator for ECMA-335 CIL/MSIL to C language.
- Mond – A dynamically typed scripting language written in C# with a REPL, debugger, and simple embedding API.
- peachpie – Open-source PHP compiler to .NET.
- Pidgin – A lightweight, fast and flexible parsing library for C#, developed at Stack Overflow.
- 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.
Cryptography
- BCrypt.Net – Bringing updates to the original bcrypt package.
- 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.
- multiformats – A general purpose hashing library, but a library to encode/decode Multihashes which is a “container” describing what hash algorithm the digest is calculated with.
- nsec – NSec is a new cryptographic library for .NET Core based on libsodium.
- SecurityDriven.Inferno – Hig level crypto library used .Net primitives, has been professionally audited.
Database
- DBreeze – C# .NET MONO NOSQL (key value store embedded) ACID multi-paradigm database management system.
- JsonFlatFileDataStore – Simple JSON flat file data store with support for typed and dynamic data.
- LiteDB – .NET NoSQL Document Store in a single data file – http://www.litedb.org.
- 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 http://jasperfx.github.io/marten.
- StringDB – StringDB is a modular, key/value pair archival DB designed to consume tiny amounts of ram & produce tiny databases.
- yessql – .NET document database working on any RDBMS.
Database Drivers
- cassandra-csharp-driver – DataStax C# Driver for Apache Cassandra.
- confluent-kafka-dotnet – Confluent’s Apache Kafka .NET client.
- couchbase-lite-net – A lightweight, document-oriented (NoSQL), syncable database engine for .NET.
- MongoDB.Driver – .NET Driver for MongoDB.
- MongoDB.Entities – A data access library for MongoDB with an elegant api, LINQ support and built-in entity relationship management
- MySQL
- mysql-connector-net – Connector/Net is a fully-managed ADO.NET driver for MySQL.
- MySqlConnector – Async MySQL Connector for .NET and .NET Core.
- Neo4j
- neo4j-dotnet-driver – Neo4j Bolt driver for .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.
- progaudi.tarantool – .NET client for Tarantool NoSql database.
Database Tools and Utilities
- DbUp – .NET library that helps you to deploy changes to SQL Server databases. It tracks which SQL scripts have been run already, and runs the change scripts that are needed to get your database up to date.
- Evolve – Simple database migration tool that uses plain SQL scripts. Inspired by Flyway.
- EFCorePowerTools – Entity Framework Core Power Tools – reverse engineering, migrations and model visualization for EF Core.
- fluentmigrator – Migration framework for .NET much like Ruby on Rails Migrations.
- monitor-table-change-with-sqltabledependency – Get SQL Server notification on record table change.
- NReco.PivotData – In-memory data cube with OLAP operations and PivotTable data model.
- roundhouse – Database Migration Utility for .NET using sql files and versioning based on source control.
- SapphireDb – Server implementation of SapphireDb, a framework for easy development of applications with realtime data synchronization and a self hosted alternative to firebase realtime database/firestore for asp.net core and ef core. Check out the documentation for more details: Documentation
- SharpRepository – SharpRepository is a generic repository written in C# which includes support for various relational, document and object databases including Entity Framework, RavenDB, MongoDb and Db4o. SharpRepository includes Xml and InMemory repository implementations as well.
- TrackableEntities.Core – Change-tracking across service boundaries with .NET Core.
- Mongo.Migration – Mongo.Migration is designed for the MongoDB C# Driver to migrate your documents easily and on-the-fly. No more downtime for schema-migrations. Just write small and simple migrations. Link
- EntityFrameworkCore.DataEncryption – A plugin for Microsoft.EntityFrameworkCore to add support of encrypted fields using built-in or custom encryption providers.
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.
- nodatime – Better date and time API for .NET http://nodatime.org.
Distributed Computing
- AspNetCore.Diagnostics.HealthChecks – Enterprise HealthChecks for ASP.NET Core Diagnostics Package
- BeatPulse – Enable load balancers to montior the status of deployed Web applications
- Foundatio – Pluggable foundation blocks for building distributed apps
- jasper – Next generation application development framework for .NET
- Rafty – RAFT consensus in .NET Core
- Obvs – An observable microservice bus .NET library that wraps the underlying transport in simple Rx based interfaces
- Ocelot – API Gateway created using .NET Core
- OpenTracing – Vendor-neutral APIs and instrumentation for distributed tracing
- 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
- ProxyKit – Toolkit to create code-first HTTP reverse proxies on ASP.NET Core
E-Commerce and Payments
- nopCommerce – Free open-source ecommerce shopping cart (ASP.NET MVC / ASP.NET Core MVC ) with a vast community and a market place full of new features, themes and plugins.
- GrandNode – Multi-platform, free, open source ecommerce shopping cart based on ASP.NET Core 2.1 and MongoDB derived from nopCommerce.
- PayPal – .NET SDK for PayPal’s RESTful APIs.
- SimplCommerce – Super simple ecommerce system built on .NET Core.
- Stripe – Typed .NET clients for stripe.com REST APIs.
Exceptions
- Demystifier – High performance understanding for stack traces (Make error logs more productive).
- Exceptionless – Exceptionless .NET Client
- GlobalExceptionHandlerDotNet – GlobalExceptionHandlerDotNet allows you to configure exception handling as a convention with your ASP.NET Core application pipeline as opposed to explicitly handling them within each controller action.
- Sentry – .NET SDK for Sentry, an Open-source error tracking that helps developers monitor and fix crashes in real time.
Functional Programming
- CSharpFunctionalExtensions – Functional Extensions for C#.
- DynamicData – Reactive collections based on Rx.NET.
- echo-process – Actor library for C# with additional modules that support persistence to Redis, as well as JS integration.
- FsCheck – Random Testing for .NET.
- Giraffe – A native functional ASP.NET Core web framework for F# developers.
- language-ext – C# functional language extensions and ‘Erlang like’ concurrency system.
- LaYumba.Functional – Utility library for programming functionally in C#.
- NetMQ.ReactiveExtensions – Effortlessly send messages anywhere on the network using Reactive Extensions (RX). Transport protocol is ZeroMQ.
- Optional – A robust option type for C#.
- reactive-streams-dotnet – Reactive Streams for .NET.
- 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.
- Qactive – Reactive queryable observable framework.
4.x.x or above
- sodium – Functional Reactive Programming (FRP) Library.
4.x.x or above
Graphics
- GLFWDotNet – .NET bindings for GLFW.
- ImageProcessor – A fluent wrapper around System.Drawing for the processing of image files http://imageprocessor.org.
4.5.x or above
- ImageSharp – Cross-platform library for processing of image files written in C#.
- LibVLCSharp: .NET/Mono bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
- Magick.NET – The .NET library for ImageMagick.
- MagicScaler – MagicScaler high-performance, high-quality image processing pipeline for .NET
- QRCoder – A pure C# Open Source QR Code implementation.
- SharpBgfx – C# bindings for the bgfx graphics library.
- Structure.Sketching – Image processing library for use in .NET applications that supports .NET Core.
- veldrid – A low-level, hardware-accelerated 3D graphics library for .NET.
- ZXing.Net – .Net port of the original java-based barcode reader and generator library zxing.
GUI
- AdonisUI – Lightweight UI toolkit for WPF applications offering classic but enhanced windows visuals.
- Avalonia – A multi-platform .NET UI framework (formerly known as Perspex).
- AvaloniaEdit – The Avalonia-based text editor component forked from AvalonEdit HandyControls – Contains some simple and commonly used WPF controls.
- Lara – Lara Web Engine is a library for developing Web user interfaces in C#
- ShellProgressBar – library to create progress bars in console programs
- Qml.Net – A cross-platform Qml/.NET integration for Mono/.NET/.NET Core.
- WinApi – A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.
IDE
- Mono – MonoDevelop enables developers to quickly write desktop and web applications on Linux, Windows and Mac OS X. It also makes it easy for developers to port .NET applications created with Visual Studio to Linux and Mac OS X maintaining a single code base for all platforms.
- 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.
- SharpDevelop – SharpDevelop is a free Integrated Development Environment (IDE) for C#, VB.NET, Boo, IronPython, IronRuby and F# projects on Microsoft’s .NET platform. It is written (almost) entirely in C#, and comes with features you would expect in an IDE plus a few more.
- 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
- Localization – Localization abstractions and implementations for ASP.NET Core applications.
- NetCoreStack.Localization – Database Resource Localization for .NET Core with Entity Framework and In Memory Cache
- Westwind.Globalization – Database driven resource localization for .NET applications.
IOC
- AutoDI – Super-fast compile-time dependency injection using IL weaving.
- Autofac – Addictive .NET IoC container.
- Castle.Windsor Castle Windsor is a best of breed, mature Inversion of Control container available for .NET.
- DryIoc – Fast, small, full-featured IoC Container for .NET.
- Grace – Grace is a feature rich Dependency Injection Container designed with ease of use and performance in mind.
- Inyector – Dependency Injection Automation for AspNetCore
- Lamar – Fast Inversion of Control Tool and Sundry Items of Roslyn Chicanery.
- LightInject – Ultra lightweight IoC container.
- 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.
- Unity – A lightweight, extensible dependency injection container.
Logging
- common-logging – Portable logging abstraction for .NET.
- dnxcore-logging-logstash – Logstash logging extension for .NET Core applications with UDP and Redis transports.
- ElmahCore – Error logging library that includes features like error filtering and the ability to view the error log from a web page.
- Exceptionless – Exceptionless .NET Client
- Foundatio – A fluent logging api that can be used to log messages throughout your application.
- Karambolo.Extensions.Logging.File – A lightweight library which implements file logging for the built-in .NET Core logging framework (Microsoft.Extensions.Logging).
- LibLog – Single file for you to either copy/paste or install via nuget, into your library/ framework/ application to provide a logging abstraction.
- log4net – log4net is a port of the excellent Apache log4j™ framework to the Microsoft® .NET runtime.
- NLog – Advanced .NET, Silverlight and Xamarin Logging with support for structured and non structured logging.
- NLog for ASP.NET and ASP.NET Core – NLog integration for ASP.NET & ASP.NET Core 1-3
- NLog.Extensions.Logging – NLog Provider for Microsoft.Extensions.Logging for .NET Standard libraries and .NET Core applications
- NLog.Windows.Forms – NLog targets specific for Windows.Forms
- NLog.MailKit – Alternative Mail target using the using MailKit library
- Q42.Logging.ApplicationInsights – Log appender for the build in ASP.NET Core logging to send all logs to Application Insights.
- serilog – Simple .NET logging with fully-structured events.
- serilog-aspnetcore – Serilog integration for ASP.NET Core 2+.
- Serilog.Exceptions – Serilog.Exceptions is an add-on to Serilog to log exception details and custom properties that are not output in Exception.ToString().
- Serilog.Settings.Configuration – A Serilog configuration provider that reads from Microsoft.Extensions.Configuration.
- SEQ – Seq collects data over HTTP, while your applications use the best available structured logging APIs for your platform.
Machine Learning and Data Science
- Accord – Machine learning, computer vision, statistics and general scientific computing for .NET.
- Catalyst Cross-platform Natural Language Processing (NLP) library inspired by spaCy, with pre-trained models, out-of-the box support for training word and document embeddings, and flexible entity recognition models. Part of the SciSharp Stack
- ML.NET – Cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers http://dot.net/ml.
- Spreads – Series and Panels for Real-time and Exploratory Analysis of Data Streams.
- TensorFlowSharp – TensorFlow API for .NET languages.
- WaveFunctionCollapse – itmap & tilemap generation from a single example with the help of ideas from quantum mechanics.
- SiaNet – A C# deep learning library, human friendly, CUDA/OpenCL supported, well structured, easy to extend
- FluentEmail – All in one email sender for .NET and .NET Core
- 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.
- netDumbster – a .Net Fake SMTP Server used for testing. Clone of the popular Dumbster.
- Papercut – Simple Desktop SMTP Server
- 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.
- SmtpServer – Library to create your own SMTP server.
- 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.
- AutoDiff – A library that provides fast, accurate and automatic differentiation (computes derivative / gradient) of mathematical functions.
Media
- MetadataExtractor – Extracts metadata from media (images, video, audio) with a simple to use API.
Misc
- AdvanceDLSupport – Library to improve P/Invoke-ing native code. Interact with native objects as if they were first class objects.
- 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.
- AgileMapper – AgileMapper is a zero-configuration, highly-configurable object-object mapper with viewable execution plans.
- AspNetCore Extension Library – ASP.NET Core Extension Library.
- AutoMapper – Convention-based object-object mapper in .NET.
- Baget – A lightweight NuGet server.
- Bleak – A Windows native DLL injection library.
- Bullseye – A .NET package for describing and running targets and their dependencies.
- 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.
- CliWrap – Wrapper for command line interfaces.
- commanddotnet – Model your command line application interface in a class.
- CommonMark.NET – The implementation of CommonMark specification in C# for converting Markdown documents to HTML.
- ConsoleTableExt – Fluent library to create table for .NET console application.
- CoordinateSharp – A library that can quickly format and convert geographic coordinates as well as provide location based sun and moon information (sunset, sunrise, moon illumination, etc…).
- datatables – Microsoft ASP.NET server-side support and helpers for jQuery DataTables.
- DinkToPdf – C# .NET Core wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF.
- dotnet-env – A .NET library to load environment variables from .env files.
- DotNet.Glob – A fast globbing library for .NET / .NETStandard applications. Outperforms Regex.
- Dotnet outdated – A .NET Core global tool to display and update outdated NuGet packages in a project
- Dotnet Script – Run C# scripts from the .NET CLI.
- Dotnet Serve – Simple command-line HTTP server for .NET Core CLI.
- Downloader – Downloader is a modern, fluent, asynchronous, testable and portable library for .NET. This is a multipart downloader with asynchronous progress events.
- Eighty – A simple HTML generation library
- Enums.NET – Enums.NET is a high-performance type-safe .NET enum utility library
- FastExpressionCompiler – Fast ExpressionTree compiler to delegate.
- FluentDocker – Commands, Services and Fluent API for docker, docker-compose & docker-machine, for win/mac/linux and native docker.
- FluentFTP – FTP and FTPS client, with extensive FTP commands, SSL/TLS connections, hashing/checksums and more.
- Fody – Extensible tool for weaving .net assemblies
- HdrHistogram.NET – High Dynamic Range (HDR) Histogram.
- httpclient-interception – .NET Standard library for intercepting server-side HTTP dependencies.
- Humanizer – Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities.
- Humidifier – Write and maintain AWS Cloudformation templates using C#.
- impromptu-interface – Static interface to dynamic implementation (duck casting). Uses the DLR combined with Reflect.Emit.
- JqueryDataTablesServerSide – ASP.NET Core Server Side Processing library for Jquery DataTables with Multiple Column Filtering, Sorting and Pagination at database level with Excel Export and TagHelper support.
- 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.
- NetCoreBeauty – Simple library to move a .NET Core app runtime components and dependencies into a sub-directory and make it beauty.
- NFlags – Simple library to made parsing CLI arguments easy. Library also allow to print usage help “out of box”.
- NReco.LambdaParser – Parses string expressions (formulas, methods calls, conditions) to LINQ expression tree that can be compiled to lambda and evaluated.
- NuGet Trends – Website with statistics of NuGet packages download count.
- NYoutubeDL – A simple youtube-dl library for C#/.NET.
- Otp.NET – An implementation TOTP RFC 6238 and HOTP RFC 4226 in C#.
- pose – Replace any .NET method (including static and non-virtual) with a delegate
- PuppeteerSharp – Puppeteer Sharp is a .NET port of the official Node.JS Puppeteer API.
- readline – Pure C# GNU-Readline like library for .NET/.NET Core.
- ReflectionMagic – Framework to drastically simplify your private reflection code using C# dynamic
- Relinq – With re-linq, it’s now easier than ever to create full-featured LINQ providers.
- Remote.Linq – Remote Linq is a small and easy to use – yet very powerful – library to translate LINQ expression trees to strongly typed, serializable expression trees and vice versa.
- 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.
- Scientist – .NET library for carefully refactoring critical paths. It’s a port of GitHub’s Ruby Scientist library.
- Scrutor – Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
- Sheller – A .NET library that makes shelling out commands super easy and fluent.
- SmartFormat.NET – An extensible replacement for string.Format.
- Stocks
- Trady – Handy library for computing technical indicators, and it targets to be an automated trading system that provides stock data feeding, indicator computing, strategy building and automatic trading.
- System.Linq.Dynamic.Core – The .NET Standard (.NET Core) version from the System Linq Dynamic functionality.
- UnitsNet – Units.NET gives you all the common units of measurement and the conversions between them.
- Validation
- FluentValidation – Small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
- FormHelper – Form & Validation Helper for ASP.NET Core. Form Helper helps you to create ajax forms and validations without writing any javascript code. (Compatible with Fluent Validation).
- Guard – A high-performance, extensible argument validation library.
- Valit – A dead simple validation for .NET Core. No more if-statements all around your code. Write nice and clean fluent validators instead!
- Vanara – A set of .NET libraries for Windows implementing PInvoke calls to many native Windows APIs with supporting wrappers.
- warden-stack – “health checks” for your applications, resources and infrastructure. Keep your Warden on the watch.
- WebEssentials.AspNetCore.ServiceWorker – ASP.NET Core Progressive Web Apps.
- Xabe.FFmpeg – .NET Standard wrapper for FFmpeg. It allows to process media without know how FFmpeg works, and can be used to pass customized arguments to FFmpeg from C# application.
- YoutubeExplode – Ultimate library for extracting metadata and downloading Youtube videos and playlists.
Networking
- AspNetCore.Proxy – ASP.NET Core Proxies made easy.
- CurlThin – Lightweight cURL binding library for C# with support for multiple simultaneous transfers through curl_multi interface.
- NETStandard.HttpListener – HttpListener for .NET Core (NETStandard).
- Networker – A simple to use TCP and UDP networking library for .NET, designed to be flexible, scalable and FAST.
- SharpPcap – Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets from live and file based devices.
Office
- EPPlus – Create advanced Excel spreadsheets using .NET.
- npoi – .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop.
- Open-XML-SDK – The Open XML SDK provides tools for working with Office Word, Excel, and PowerPoint documents.
Operating System
- CosmosOS – Cosmos is an operating system “construction kit”. Build your own OS using managed languages such as C#, VB.NET, and more!
ORM
- Chloe – A lightweight and high-performance Object/Relational Mapping(ORM) library for .NET.
- Entity Framework Core – Familiar developer experience to previous versions of EF, including LINQ, POCO, and Code First support.
- EFCore.BulkExtensions – EntityFrameworkCore Bulk Batch Extensions for Insert Update Delete Read (CRUD) ops
- EntityFramework-Plus – Entity Framework Utilities | Bulk Operations | Batch Delete | Batch Update | Query Cache | Query Filter | Query Future | Query Include | Audit.
- EntityFramework.Exceptions – Use typed Exceptions for EntityFrameworkCore when your SQL query violates database constraints in SqlServer, MySql, or PostgreSQL.
- EntityFramework.Triggers – Trigger events for EF.
- EntityFramework.Rx – Reactive hot observables of your EF operations.
- Npgsql.EntityFrameworkCore.PostgreSQL – Entity Framework Core provider for PostgreSQL.
- EntityFramework.PrimaryKey – Easily get the primary key of any entity (including composite keys).
- EntityFramework.TypedOriginalValues – Get a proxy object of the original values of your entity (typed access to Property(“…”).OriginalValue).
- EntityFramework.VersionedProperties – Classes which auto-magically keep an audit history of the changes to the specified property.
- LINQKit – A free set of extensions for LINQ to SQL and Entity Framework power users.
- Pomelo.EntityFrameworkCore.MySql – Entity Framework Core provider for MySql built on top of mysql-net/MySqlConnector.
- spectre.query – A simple query language for Entity Framework Core.
- 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.
- MicroOrm.Dapper.Repositories – CRUD for Dapper.
- FreeSql – a convenient ORM in dotnet,supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.
- 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.
- LINQ to DB (linq2db) – The fastest LINQ database access library offering a simple, lightweight, fast, and type-safe layer between your POCO objects and your database for more than 10 database engines with full SQL support.
- nhibernate-core – NHibernate Object Relational Mapper.
- 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.
- PetaPoco – A tiny ORM-ish thing for your POCO’s.
- querybuilder – SqlKata Query Builder is a powerful Sql Query Builder written in C#.
- RepoDb – A hybrid ORM library for .NET.
- ServiceStack.OrmLite – Light, simple and fast convention-based POCO ORM.
- SqlFu – Fast and versatile Micro-ORM.
- SmartSql – SmartSql = MyBatis + Cache(Memory | Redis) + ZooKeeper + R/W Splitting +Dynamic Repository ….
- SQLStreamStore – Stream Store library targeting SQL based implementations for .NET.
Profiling
- Glimpse – Lightweight, open-source, real-time diagnostics and insights profiler for .NET.
Unstable version
- MiniProfiler – A simple but effective mini-profiler for ASP.NET websites.
Query Builders
- SqlKata – Elegant Sql Query Builder, that supports complex queries, joins, sub queries, nested where conditions, vendor engine targets and more
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.
- EasyNetQ – An easy to use .NET API for RabbitMQ.
- EventStore – The open-source, functional database with Complex Event Processing in JavaScript.
- 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.
- MQTTnet – MQTTnet is a high performance .NET library for MQTT based communication.
- netmq – 100% native C# implementation of ZeroMQ for .NET.
- OpenCQRS – .NET Core library for DDD, CQRS and Event Sourcing with Azure Service Bus integration. Supported database providers for the Command and the Event stores are: DocumentDB, MongoDB, SQL Server, MySQL, PostgreSQL and SQLite.
- 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.
- Silverback – Framework to build event-driven applications (support for Kafka, RabbitMQ, MQTT).
- Tossit – Simple, easy to use library for distributed job/worker logic. Distributed messages handled by built in RabbitMQ implementation.
Reporting
- FastReport – The open source report generator for .NET Core 2.x/.Net Framework 4.x. FastReport can be used in MVC, Web API applications.
Scheduler and Job
- Chroniton.NetCore – Lightweight robust library for running tasks(jobs) on schedules.
- Coravel – .Net Core meets Laravel: Scheduling, Queuing, etc.
- FluentScheduler – Automated job scheduler with fluent interface.
- Gofer.NET – Easy C# API for Distributed Background Tasks/Jobs for .NET Core. Inspired by celery for python.
- HangfireIO – Easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET apps http://hangfire.io.
- LiquidState – Efficient asynchronous and synchronous state machines for .NET.
- NCrontab – Crontab for .NET.
- quartznet – Quartz Enterprise Scheduler .NET http://www.quartz-scheduler.net.
- stateless – Simple library for creating state machines in C# code.
SDKs
- AWS SDK – The Amazon Web Services (AWS) .NET Core SDK components. Each AWS service has its own NuGet package.
- azure-event-hubs-dotnet – .NET Standard client library for Azure Event Hubs.
- Blockchain clients
- Bittrex.Net – C# .Net wrapper for the Bittrex web API including all features easily accessible and usable.
- Binance.Net – .Net API wrapper for the Binance web API.
- CakeMail.RestClient – Client for CakeMail’s API. Allows you to send transactional emails, bulk emails, manage lists and contacts, etc.
- consuldotnet – .NET API for Consul.
- csharp-nats – C# .NET client for the NATS messaging system.
- DarkSkyCore – A .NET Standard wrapper for the Dark Sky API.
- Docker.DotNet – .NET (C#) Client Library for Docker API.
- firebase-admin-dotnet – Firebase Admin .NET SDK
- google-cloud-dotnet – Google Cloud Client Libraries for .NET.
- Manatee.Trello – A fully object-oriented .Net wrapper for Trello’s RESTful API written in C#.
- Microphone – Lightweight framework to run self hosting REST services using Web Api or NancyFx ontop of a Consul or ETCD cluster.
- octokit.net – GitHub API client library for .NET.
- PreStorm – Parallel REST Client for ArcGIS Server.
- SendGrid-csharp – C# client library for using the full SendGrid API.
- statsd-csharp-client – .NET Standard compatible C# client to interface with Etsy’s excellent statsd server.
- tweetinvi – Intuitive .NET C# library to access the Twitter REST and STREAM API.
Security
- aspnetcore-security-headers – Middleware for adding security headers to an ASP.NET Core application.
- HtmlSanitizer – Cleans HTML to avoid XSS attacks.
- jose-jwt – Library for processing JOSE objects (JWT, JWA, JWS and related).
- Jwt.Net – Jwt.Net, a JWT (JSON Web Token) implementation for .NET.
- JWT Simple Server – A lightweight, dynamic jwt server for ASP.NET Core.
- NWebsec – Security libraries for ASP.NET http://www.nwebsec.com.
- reCAPTCHA – reCAPTCHA 2.0 for ASP.NET Core.
- 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.
- SecurityHeaders – Small package to allow adding security headers to ASP.NET Core websites.
Searching
- Algolia.Search – Repository for the official Algolia .NET client.
- 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.
- SearchExtensions – Advanced search capabilities for IQueryable interfaces, such as Entity Framework queries.
- SimMetrics.Net – A Similarity Metric Library, e.g. from edit distance’s (Levenshtein, Gotoh, Jaro etc) to other metrics, (e.g Soundex, Chapman)
- SolrExpress – Simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way.
Serialization
- BinarySerializer – Serialization for custom packet and protocol formats, supports bit-twiddling.
- 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.
- 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.
- MessagePack
- msgpack-cli – MessagePack implementation for Common Language Infrastructure / msgpack.org.
- MessagePack-CSharp – Extremely Fast MessagePack Serializer for C#(.NET, .NET Core, Unity, Xamarin).
- 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.
- Utf8Json – Definitely Fastest and Zero Allocation JSON Serializer for C#(NET, .NET Core, Unity, Xamarin).
- YAXLib – XML Serialization Library for the .NET Framework and .NET Core. Extremely flexible and powerful.
Template Engine
- dotliquid – .NET Port of Tobias Lütke’s Liquid template language.
- fluid – Open-source .NET template engine that is as close as possible to the Liquid template language.
- Portable.Xaml – Portable .NET library for reading/writing xaml files.
- Razor – Parser and code generator for CSHTML files used in view pages for MVC web apps.
- RazorLight – Template engine based on Microsoft’s Razor parsing engine for .NET Core.
- Scriban – A fast, powerful, safe and lightweight text templating language and engine for .NET.
Testing
- Atata – Web UI test automation full-featured framework based on Selenium WebDriver. https://atata.io
- Bogus – Simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
- CoreBDD – BDD framework for xUnit.net
- 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.
- GenFu – Library you can use to generate realistic test data.
- LightBDD – BDD framework allowing to create easy to read and maintain tests.
- mockhttp – Testing layer for Microsoft’s HttpClient library.
- 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.
- Testavior – Testavior is a lightweight solution to help you develop Behavior Tests for ASP.NET Core.
- TestStack.BDDfy – The simplest BDD framework EVER!
- xBehave.net – An xUnit.net extension for describing your tests using natural language. http://xbehave.github.io
- xUnit.net – A free, open source, community-focused unit testing tool for the .NET Framework.
Tools
-
CliFx – Declarative framework for building command line interfaces.
-
CommandLineUtils – Command line parsing and utilities for .NET Core and .NET Framework.
-
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.
-
dotnet-tools – A list of tool extensions for .NET Core Command Line (dotnet CLI).
- LibMan CLI – Client-side content manager for web apps.
-
EntryPoint – Composable CLI (Command Line) Argument Parser for .Net Core & .Net Framework 4.5+.
-
Fake JSON Server – Fake REST API for prototyping or as a CRUD Back End. No need to define types, uses dynamic typing. Data is stored to a single JSON file. Has authentication, WebSocket notifications, async long running operations, random generation for errors/delays and experimental GraphQL support.
-
gitignore.io – Create useful .gitignore files for your project https://www.gitignore.io.
-
ICanHasDotnetCore – Scans uploaded packages.config files or GitHub repository and determines whether the nuget packages target .NET Standard.
-
json2csharp – Generate C# classes from JSON.
-
letsencrypt-win-simple – A Simple ACME Client for Windows.
-
Linq_Faster – Linq-like extension functions for Arrays, Span, and List that are faster and allocate less.
-
mRemoteNG – The next generation of mRemote, open source, tabbed, multi-protocol, remote connections manager
-
NJsonSchema – NJsonSchema is a .NET library to read, generate and validate JSON Schema draft v4+ schemas.
-
NuKeeper – Automagically update nuget packages in .NET projects.
-
NuGetPackageExplorer – Create, update and deploy Nuget Packages with a GUI.
-
NugetVisualizer – Visualize all of the nuget packages and their corresponding versions for a set of given git repositories or folders.
-
OctoLinker – Navigate through
projects.json
files efficiently with the OctoLinker browser extension for GitHub. -
posh-dotnet –
PowerShell
tab completion for the dotnet CLI. -
Rin – Request/response Inspector middleware for ASP.NET Core. like Glimpse.
-
scoop – A command-line installer for Windows.
-
SerilogAnalyzer – Roslyn-based analysis for code using the Serilog logging library. Checks for common mistakes and usage problems.
-
SharpZipLib – #ziplib is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform.
-
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
-
SharpLab – .NET code playground that shows intermediate steps and results of code compilation. https://sharplab.io
-
SmartCode – SmartCode= IDataSource -> IBuildTask -> IOutput => Build Everything!!! (Including [Code generator])
-
sourcelink – SourceLink is a language- and source-control agnostic system for providing first-class source debugging experiences for binaries.
-
System.CommandLine – System.CommandLine, a set of libraries for command line parsing, invocation, and rendering of terminal output.
-
Typin – Simple to use declarative framework for interactive CLI applications and command line tools (direct mode) that has its roots in CliFx.
-
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
- WebAssembly
- Blazor – UI framework running .NET in the browser via WebAssembly.
- Awesome Blazor – Collection of awesome resources (samples, components, articles, videos and others) about Blazor.
- Blazor Redux – Connecting a Redux state store with Blazor.
- Ooui – Small cross-platform UI library that brings the simplicity of native UI development to the web.
- Blazor – UI framework running .NET in the browser via WebAssembly.
- ReactJS.NET – .NET library for JSX compilation and server-side rendering of React components.
- redux.NET – Predictable state container for .NET apps. Inspired by https://github.com/reactjs/redux.
Web Socket
- Fleck – Fleck is a WebSocket server implementation in C#. Fleck requires no inheritance, container, or additional references.
- SignalR Server – Real-time web functionality for web apps, including server-side push.
- SuperSocket – Light weight, cross platform and extensible socket server application framework.
- WampSharp – C# implementation of The Web Application Messaging Protocol – Protocol that provides messaging patterns of Remote Procedure Calls and Publish/Subscribe over WebSockets.
- websocket-manager – Real-Time library for ASP .NET Core.
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.
Workflow
- CoreWF – Port of Windows Workflow Foundation (WF) to .NET Core.
- workflow-core – Lightweight workflow engine for .NET Standard.
- WorkflowEngine.NET – Component that adds workflow in your application.
- Wexflow – A high performance, extensible, modular and cross-platform workflow engine.
Roadmaps
- ASP.NET Core Developer Roadmap – Roadmap to becoming an ASP.NET Core developer in 2019.
Starter Kits
- Arch – The collection of .NET Core libraries that are created by software architects who embrace all the new stuff in .NET Core.
- AutoHistory – A plugin for Microsoft.EntityFrameworkCore to support automatically recording data changes history.
- AspNetCore-Angular2-Universal – Cross-platform – w/ server-side rendering for SEO, Bootstrap, i18n internationalization (ngx-translate), Webpack, TypeScript, unit testing w/ Karma, WebAPI REST setup, SignalR, Swagger docs, and more!
- 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.
- 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.
- ASP.Net Core Vue Starter – Asp.NETCore 2.0 Vue 2 (ES6) SPA Starter kit, contains routing, Vuex, and more!.
- 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.
- Nucleus – Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
- 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.
- serverlessDotNetStarter starter kit for development and deployment of lambda functions in the AWS cloud based on serverless framework.
Sample Projects
- Microservices & Service Mesh
- clean-architecture-dotnet – Apply Minimal Clean Architecture with DDD-lite, CQRS-lite, and just enough Cloud-native patterns on eCommerce sample business domain
- coolstore-microservices – A Kubernetes-based polyglot microservices application with Istio service mesh
- distributed-playground – Distributed service playground with Vagrant, Consul, Docker & ASP.NET Core.
- DNC-DShop – Distributed .NET Core project and free course. (DDD, CQRS, RabbitMQ, MongoDB, Redis, Monitoring, Logging, CI, CD)
- dotnetcore-microservices-poc – simplified insurance sales system made in a microservices architecture using .NET Core (EF Core, MediatR, Marten, Eureka, Ocelot, RabbitMQ, Polly, ElasticSearch, Dapper) with blog post series.
- eShopOnContainers – Microservices Architecture and Containers based Reference Application.
- InMemoryCQRSReplication – Akka.NET Reference Architecture – CQRS + Sharding + In-Memory Replication
- magazine-website – Magazine website (using .NET Core, ASP.NET Core, EF Core) with DDD, CQRS, microservices, asynchronous programming applied.
- microservices-in-dotnetcore – The code sample from the second edition of Microservices in .NET Core.
- practical-dapr – Full-stack .NET microservices build on Dapr and Tye.
- ReactiveTraderCloud – Real-time trading platform demo showcasing reactive programming principles applied across the full application stack.
- Monoliths
- 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.
- AspNetAuthorizationWorkshop – A workshop for moving through the various new pieces in ASP.NET Core Authorization
- BikeSharing360 Suite of Apps from Microsoft Presented December Connect 2016 Conference, a compreshsive set of interworking apps for both enterprise users and the consumers (bike riders): Mobile Apps, Backend Services, Websites, Single Container Apps, Multi Container Apps, Cognitive Services Kiosk App, Azure Bot App.
- Clean Architecture Manga – Clean Architecture sample with .NET Core 3.0 and C# 8. Use cases as central organising structure, completely testable, decoupled from frameworks.
- cloudscribe – ASP.NET Core Multi-tenant web application foundation.
- CoreCodeCamp – An Open Source Website for running small, local development events.
- DotNetClub – Tiny club written in ASP.NET Core.
- eShopOnWeb – A layered application architecture with monolithic deployment model.
- Entropy – Chaotic experimental playground for new features and ideas – check here for small and simple samples for individual features.
- EquinoxProject – Full ASP.NET Core 2.0 application with DDD, CQRS and Event Sourcing.
- GenVue – a hostable, web application that lets confidential users upload and share private files build on Vue.js, Vuetifyjs and NetCore WebAPI stack
- guidance-identity-management-for-multitenant-apps – How to manage user identities in a multitenant app on Microsoft Azure, using Azure Active Directory for authentication.
- JustA.ML – A web application that lets you share files/URL/text between your devices written in ASP.NET Core 2.0. Open source, live at https://justa.ml
- 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.
- MusicStore – Sample MusicStore application that uses MVC and Entity Framework.
- NLayerAppV3 – NLayerAppV3 N-Layered Architecture with .NET Core Preview 2.
- NorthwindTraders – Northwind Traders is a sample application built using ASP.NET Core and Entity Framework Core.
- Orchard Core – Modular and Multi-tenant applications – Use Orchard Core Framework to create Modular and Multi-tenant applications.
- PhotoGallery – Cross-platform Single Page Applications with ASP.NET Core, Angular 2 & TypeScript http://wp.me/p3mRWu-11L.
- PokeR – Realtime scrum poker using SignalR and Angular in ASP.NET Core’s SPA hosting. Includes Docker support. Demo
- Practical ASP.NET Core – A daily updated micro samples of ASP.NET Core features and facilities.
- Sample .NET Core CQRS REST API – .NET Core REST API CQRS implementation with raw SQL and DDD using Clean Architecture.
- StarWars – GraphQL ‘Star Wars’ example using GraphQL for .NET, ASP.NET Core, Entity Framework Core.
Articles
- Basic knowledge
- Microsoft architectural overview of comprehensive BikeSharing360 suite of demo apps with related videos
- Porting a .NET Framework library to .NET Core
- The 68 things the CLR does before executing a single line of your code
- The comparison between .NET Core and Nodejs at here, here and here
- Understanding ASP.NET Core Initialization
- Why you should join .NET Core and ASP.NET Core train
- Cloud Development
- Configuration and deployment
- .NET project structure
- Adding Travis CI builds to a .NET Core app
- ASP.NET Core 1.0 – Configure ApplicationInsights
- haproxy, nginx, Angular 2, ASP.NET Core, Redis and Docker
- Project.json to MSBuild conversion guide
- Publishing a .NET project with Appveyor and NuGet
- The New Configuration Model in ASP.NET Core
- Entity Framework Core
- Miraculous
- Security
- Testing
- InfoQ .NET articles – Collection of best .NET articles on InfoQ site
Books
- .NET Core in Action
- ASP.NET Core Application Development: Building an application in four sprints (Developer Reference)
- ASP.NET Core in Action
- 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
- C# in Depth 4
- Dependency Injection in .NET Core, 2nd edition
- Essencial C# 7.0
- Exploring .NET Core with Microservices, ASP.NET Core, and Entity Framework Core – free eBook sampler
- Microservices in .NET Core: with C#, the Nancy framework, and OWIN middleware
- Professional C# 6 and .NET Core 1.0
- The little ASP.NET Core
Videos
- Channel9 – MSDN
- Channel9 – YouTube
- Microsoft Learning Center
- ASP.NET Monsters
- Visual Studio
Podcasts
Community
- .NET Foundation
- .NET Blog
- /r/CoolGithubProjects
- ASP.NET
- Channel9
- Awesome .NET open source & community resources
- Slack
- BuiltWithDot.Net
- Stack Overflow
- Trending .NET repositories on GitHub today