.NET
Contents
Algorithms and Data structures
OneOf provides discriminated unions for C# with exhaustive compile time matching.
Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.
data structures, algorithms, mathematics, metadata, extensions, console, measurements, and other useful stuff
A convenient data structure supporting efficient in-memory indexing and querying, including range queries and fuzzy string matching.
API
High-performance middleground between classic ASP.NET Core API controllers and Minimal APIs. Using a REPR (Request-Endpoint-Response) pattern, this library eliminates the boilerplate and monolithic feel of controllers by improving colocation of code.
.NET Client for Telegram Bot API
Automate a user account on Telegram, using the latest version of Telegram Client API
Mobius adds C# language binding to Apache Spark, enabling the implementation of Spark driver code and data processing operations in C#.
.NET core API Gateway
Command Query Separation for ASP.NET Core AWS Lambda Azure Functions Google Cloud Functions ASP.NET Web API 2
A .NET library allows clients to specify the exact fields they need, reducing unnecessary data transfer by avoiding the retrieval of all fields by default.
A set of libraries and classes that simplify building REST APIs and gRPC services, reducing the amount of code to be written with even one line of code for a fully functional REST controller.
Serialization
JSON, JSV and CSV Text Serializers used in servicestack.net
F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
Very simple & lightweight CSV exporter, Excel friendly, escapes text & quotes etc.
Protocol buffers is the name of the binary serialization format used by Google for much of their data communications
Popular high-performance JSON framework for .NET
MessagePack implementation for Common Language Infrastructure
Fast, idiomatic FlatBuffers implementation. Use .fbs files or attributes.
A high performance polymorphic serializer for the .NET framework.
Fast and flexible serialization framework usable on undecorated classes.
Serializes in-memory object to C# code.
A profile-based Serializer for multiple data-formats.
Application Frameworks
.NET Core Extensions and Helper NuGet packages
A starting point for new modern ASP.NET MVC web applications with best practices and most popular tools.
The next generation of the ASP.NET Boilerplate web application framework.
business layer development framework https://cslanet.com/
Open source ECMA CLI, C#, F#, VB and .NET implementation
Peasy is a middle tier framework that offers an easy to use and flexible rules engine and was designed to address common challenges such as concurrency handling, transactional support, fault tolerance, threading, scalability, async and multiple client support, and easy testability, all without a huge learning curve!
Plastic provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application. For this, Command pattern is used.
Signals is a .NET5 based framework which focuses on increasing the quality and productivity within development teams by providing them with tools, aspects and processes.
DotNetty is a port of Netty, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
AspectCore Framework is an Aspect-Oriented Programming based cross platform framework for .NET Core and .NET Framework. Core support for aspect-interceptor,dependency injection integration , web applications , data validation , and more.
.NET Core and Blazor library that attempts to dramatically improve the way we implement real-time and high-load services by introducing a novel kind of "computed observables" - immutable, thread-safe, and most importantly, almost invisible for developers. Samples 1 Samples 2
The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
An advanced Web View (PositronWebView) with native JavaScript Context to access .NET APIs from hybrid applications inspired from capacitor/cordova.
Distributed Computing
Orleans is a 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. It was created by Microsoft Research.
Raft implementation for .NET and ASP.NET Core that allows to build clustered microservices powered by distributed consensus and replication
Orleankka is a functional API for Microsoft Orleans framework. It is highly suitable for scenarios where having composable, uniform communication interface is preferable, such as: CQRS, event-sourcing, re-routing, FSM, etc. Additional API available for F# called Orleankka.FSharp.
Akka.NET is a port of the popular Java/Scala framework Akka to .NET. This is a community-driven port and is not affiliated with Typesafe who makes the original Java/Scala version.
Zebus is a lightweight, highly versatile, peer-to-peer service bus, built with CQRS principles in mind. It allows applications to communicate with each other in a fast and easy manner. Most of the complexity is hidden in the library and you can focus on writing code that matters to you, not debugging messaging code. A very fundamental base for any distributed application.
Proto Actor - Ultra fast distributed actors for Golang and C#
IoC
The default IoC container for NET applications.
Spring.NET is an open source application framework that makes building enterprise .NET applications easier
An addictive .NET IoC container
Simple, fast all fully featured IoC container.
The ninja of .NET dependency injectors
A fast IoC container heavily optimized for usage within ASP.NET Core and other .NET server side applications.
An ultra lightweight IoC container
Simple Injector is an easy-to-use Dependency Injection (DI) library for .NET 4+ that supports Silverlight 4+, Windows Phone 8, Windows 8 including Universal apps and Mono.
Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
Managed Extensibility Framework (MEF) implementation used by Visual Studio.
A lightweight, portable dependency injection framework for .NET based solutions.
Application Templates
.NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
backend: .NET Core, EF Core, C#; frontend: Babel, Webpack, React, CSS Modules
A prototypical .NET solution recommended by the F# Foundation---includes file system setup, Paket for dependencies and FAKE for build/test automation. By default, build process also compiles documentation and generates NuGet packages.
Serenity is an ASP.NET MVC application platform designed to simplify and shorten development of data-centric business applications with a service-based architecture. Serene is a starter template to build Serenity applications.
Large collection of useful templates for Web and Desktop development.
Windows 10 templates with design patterns.
Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
JHipster blueprint for replace orginal SpringBoot Backend by asp.net core. The main goal generator of jhipster is showcases best practices of modern web development in java. So the goal of the project is to do the same in .net. The Frontend can be generated with angular or react and soon with blazor. - NOTE: This is not affiliated with Microsoft or .NET
Artificial Intelligence
Assembly Manipulation
Authentication and Authorization
A fully certified OpenID Connect server library for .NET by the OpenID Foundation, providing comprehensive support for OAuth2 and OpenID Connect across all profiles. [$][Free for non-commercial use]
New membership system for ASP.NET applications
SAML authentication support for ASP.NET apps
A F# Hawk authentication library
An IAM infrastructure for modern apps and SaaS products, supporting OIDC, OAuth 2.0 and SAML for authentication and authorization [$][Free for OSS]
Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
Background Processing
Blazor
A set of enterprise-class UI components based on Bootstrap and Blazor. - NOTE: This is not affiliated with Microsoft or .NET
A set of enterprise-class UI components based on Ant Design and Blazor WebAssembly.
A set of enterprise-class UI components based on Material Design and Blazor WebAssembly.
Blazorise is a component library built on top of Blazor and CSS frameworks like Bootstrap, Bulma and Material. Very easy to use.
k8s management ui in blazor and .NET Core.
A Material Design framework for Blazor, allowing .NET developers to quickly build web apps, with extensive documentation and examples.
Build Automation
.NET-based build automation tool written in PowerShell
F# Make, a cross-platform build automation system
PowerShell build and test automation tool inspired by Psake.
The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio
Cake (C# Make) is a cross-platform build automation system with a C# DSL.
Magic script-based C# task runner
Cross-platform build automation system
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code. - NOTE: This is not affiliated with Microsoft or .NET
Write your pipelines in C#
Business Intelligence
Caching
An ASP.NET Web API HTTP caching implementation both on client and server
An asynchronous, persistent key-value store
A caching library that contains basic and some advanced usages of caching which can help handle caching more easier! - NOTE: This is not affiliated with Microsoft or .NET
A common interface and abstraction layer for caching.
10X faster alternative to MemoryCache for .NET
An efficient multi-layered caching system for .NET (In-Memory, Redis, Database, File etc)
An easy to use, high performance and robust cache with an optional distributed 2nd layer and some advanced features, like a fail-safe mechanism and advanced timeouts management
Thread-safe in-memory caches optimized for very high concurrent throughput, near optimal hit rate and low latency.
Queue
A common interface with in-memory, Redis and Azure implementations.
An EventBus with local persistent message functionality for RabbitMQ or Kafka. - NOTE: This is not affiliated with Microsoft or .NET
Implementation of the Outbox pattern and OnceExecutor service that guarantees idempotence: the operation will be performed once
The most popular service bus for .NET
Incredibly easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET applications
Implementation of an AMQP client library for C#, and a binding exposing AMQP services via WCF
NetMQ is 100% native C# port of ZeroMQ
MassTransit is lean service bus implementation for building loosely coupled applications using the .NET Framework.
Rebus is a lean service bus implementation for .NET, similar in nature to NServiceBus and MassTransit, only leaner
An easy to use .NET API for RabbitMQ
An easy to use service bus and microservices platform. Easily build applications and services in a visual IDE.
Confluent's .NET Client for Apache Kafka.
a .NET Stream Processing Library for Apache Kafka.
Command Dispatcher, Processor, and Distributed Task Queue https://www.goparamore.io/
Lightweight message bus with transports for popular messaging systems (Kafka, Redis, Azure Service Bus, and others) and in-memory communication.
Facilitates simple asynchronous messaging in dotnet apps.
CLI
Declarative CLI argument & XML configuration parser for F# applications.
Declarative framework for building command line interfaces.
Wrapper for command line interfaces.
Model your console app using C# in a composable manner. Define commands with methods. Define subcommands with properties or nested classes. Extensible parsing and command execution.
The Command Line Parser Library offers to CLR applications a clean and concise API for manipulating command-line arguments and related tasks
This is a fork of Microsoft.Extensions.CommandLineUtils, which is no longer under active development.
Command-line interface description language that will make you smile.
Terminal UI toolkit for .NET.
PowerArgs converts command-line arguments into .NET objects that are easy to program against. It also provides a ton of optional capabilities such as argument validation, auto generated usage, tab completion, and plenty of extensibility
A simple netsh library for C#.
A library that makes it easier to create beautiful console applications.
CMS
FluentCMS is open source AI Driven ASP.NET Core Blazor Content Management System (CMS)
A web CMS that focus on UX and adaptability
MojoPortal is an extensible, cross database, mobile friendly, web content management system (CMS) and web application framework written in C# ASP.NET
Free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform
Piranha is the fun, fast and lightweight .NET framework for developing cms-based web applications with an extra bite. It's built on ASP.NET MVC and Web Pages and is fully compatible with both Visual Studio and WebMatrix. https://piranhacms.org
Umbraco is a free open source Content Management System built on the ASP.NET platform
Open source headless CMS and content management hub. https://squidex.io
RESTful CRUD (Create, Read, Update, Delete) APIs, Admin Panel web pages,a GraphQL-style query designer and a WYSIWYG web page designer, all fully configurable without writing code.
Code Analysis and Metrics
A number of Roslyn diagnostic analyzers initially developed to help flesh out the design and implementation of the static analysis APIs.
Powerful .NET library for benchmarking.
Static code analysis tool to enforce namespace dependency rules in C# projects.
Is a tool for benchmarking your Hypertext Transfer Protocol (HTTP) server.
Compilers, Transpilers and Languages
A port of Clojure to the CLR in C#
The F# programming language empowers everyone to write succinct, robust, and performant code
F# to JavaScript, TypeScript, JSX, Python, Dart, and Rust transpiler
Experimental Rust compiler for .NET.
Mono runtime embedded in Rust.
R6RS Scheme compiler, runtime and many standard libraries
A dynamically typed scripting language written in C# with a REPL, debugger, and simple embedding API
A Lua implementation on .NET in C#
Nemerle is a high-level statically-typed programming language for the .NET platform. It offers functional, object-oriented, and imperative features. It has a simple C#-like syntax and a powerful meta-programming system.
P is a language for asynchronous event-driven programming.
PeachPie is a PHP compiler and runtime for .NET and .NET Core, which allows entire PHP applications to run on the modern, secure and performant .NET and .NET Core platforms.
The .NET Compiler Platform ("Roslyn") provides open-source C# and Visual Basic compilers with rich code analysis APIs. It enables building code analysis tools with the same APIs that are used by Visual Studio.
Pascal implementation on .NET.
A Python 3 implementation that is integrated with the .NET framework.
A library for patching, replacing, and decorating .NET and Mono methods during runtime, mainly used for game modding.
A polyglot REPL built on .NET Interactive
Rewrite of Clojure CLR in F#
Compression
SharpCompress is a compression library for .NET/Mono/Silverlight/WP7 that can unrar, un7zip, unzip, untar unbzip2 and ungzip with forward-only reading and file random access APIs. Write support for zip/tar/bzip2/gzip are implemented
A .NET Wrapper of Fast LZMA2 Algorithm.
Cryptography
A managed-only cryptography library for .NET which provides modern cryptographic primitives.
A Paseto (Platform-Agnostic Security Tokens) implementation for .NET
Managed .NET wrapper for unmanaged PKCS#11 libraries that provide access to the cryptographic hardware
.NET crypto library. Professionally audited.
.NET simple crypto library. Native c#.
Cloud Storage
A polycloud .NET cloud storage abstraction layer originally known as Storage.Net. Provides a generic interface for Blob storage (AWS S3, GCP, FTP, SFTP, Azure Blob/File/Event Hub/Data Lake) and Messaging (AWS SQS, Azure Queue/ServiceBus).
Bloat-free zero dependency .NET cloud storage kit that supports at minimum THE major cloud providers.
This library provides a universal interface for accessing and manipulating data in different cloud blob storage providers (Azure Storage, AWS S3, Google Cloud Storage. It makes it easy to switch between providers or to use multiple providers simultaneously, without having to learn and use multiple APIs.
Database
C# binding for Facebook's RocksDB Key-Value store + native builds for Windows, macOS and Linux
DBreeze Database is an open-source embedded Key-Value store
The open-source, functional database with Complex Event Processing in JavaScript
A .NET NoSQL Document Store in a single data file - https://www.litedb.org
A LINQ-enabled document database for .NET
PostgreSQL as a document database and event store for .NET applications
A fast, easy-to-use alternative to SQLite & ORMs - https://realm.io/docs/dotnet/latest/
Event store for Azure Table Storage
Distributed in-memory platform: document database with SQL and LINQ support; distributed computations; distributed services and events.
A .NET document database working on any RDBMS
Simple JSON flat file data store with support for typed and dynamic data
Persistent, high-performance, transactional, and ACID-compliant ordered key-value database for .NET.
Database Drivers
.NET data provider for DuckDB
.NET data provider for PostgreSQL
Official MongoDB C# driver
DataStax .NET driver for Apache Cassandra
Official Couchbase .NET client library, based on the Enyim memcached client
.NET client for rqlite (distributed relational DB based on SQLite)
Datetime
Noda Time is an alternative date and time API for .NET. It helps you to think about your data more clearly, and express operations on that data more precisely. https://nodatime.org/
Common Date Time operations on the form of extensions to System.DateTime, including holidays and working days calculations on several culture locales.
DateTimeRange, Business Day and various DateTime, DateTimeOffset, TimeSpan extension methods.
Decompilation
Documentation
Sandcastle Help File Builder similar to NDoc
Source browser website generator that powers https://referencesource.microsoft.com
Seamlessly adds a Swagger to Web API projects.
Tools for documenting F# and C# projects from F# script files, Markdown documents and inline XML or Markdown comments
Tools for building and publishing API documentation for .NET projects
Your friendly static documentation generator, using markdown files to build the content.
Swagger-like UI tool like Swagger, but for SignalR hubs — auto-discover your hubs, explore methods, invoke calls, and preview live client messages..
E-Commerce and Payments
nopCommerce. Free open-source e-commerce shopping cart (ASP.NET Core)
Free ASP.NET Core MVC e-commerce Shopping Cart Solution
Stripe.net is a full service .NET API for https://stripe.com/
Virto Commerce is the second generation release and is the only enterprise level e-commerce product fully available under Open Source license. Virto Commerce is based on .NET 4.5 with extensive use of MVC, IoC, EF, Azure, AngularJS and many other cutting edge technologies. It can be deployed in Microsoft Cloud (Azure), Amazon Web Services (AWS) and on-premise. https://virtocommerce.com
Super simple ecommerce system built on .NET Core. Simple to use and easy to customize. Thanks to .NET Core, you can run the SimplCommerce on Windows, Linux. With various RDBMS: Microsoft SQL Server, PostgreSQL, MySQL
Headless, multi-vendor, multi-tenant, the most advanced open source e-commerce platform based on .NET Core 5.0 and MongoDB.
The official Adyen Payment API Library for .NET
Environment Management
ETL
Event aggregator and messenger
A simple mediator for .NET for sending command, publishing event and request response with pipelines supported
Simple, unambitious mediator implementation in .NET
EventFlow is an Async/await first CQRS and Event Sourcing DDD framework for .NET
An easy-to-use and ambitious in-process mediator providing the foundation to implement Command Query Separation (CQS)
Logging
Exceptionless .NET Client
NLog - Advanced .NET and Silverlight logging
Open source NLog viewer for Windows
Elmah for MVC
Logary is a high performance, multi-target logging, metric, tracing and health-check library for Mono and .NET. .NET's answer to DropWizard. Supports many targets, built for micro-services.
Simplifies real-time remote error monitoring while using Rollbar.com. Open-source Rollbar Notifier SDK for any .NET-based technology stack. The SDK that can be used in any application built on the following .NET versions: .NET Core 2.0+, .NET Standard 2.0+, .NET Full Framework 4.5.1+, Mono, Xamarin, and, in general, any implementation of the .NET Standard 2.0+. It simplifies building data payloads based on exception data, tracing data, informational messages, and telemetry data and sends the payloads to the Rollbar API for remote monitoring and analysis of the hosting application's behavior. [Connects to Proprietary Service] [Free Tier]
.NET SDK for Sentry Open-source error tracking that helps developers monitor and fix crashes in real time..
A no-nonsense logging library for the NoSQL era. Combines the best of traditional and structured diagnostic logging in an easy-to-use package.
Error handler used for the Stack Exchange network
Cross-Platform (Windows/macOS/Linux) Universal Log Viewer which supports reading and parsing various type of logs. You can also define your own profile to parse and show logs.
ZeroLog is a zero-allocation .NET logging library. It provides basic logging capabilities to be used in latency-sensitive applications, where garbage collections are undesirable.
A source generator that automatically migrates all logging calls to high-performant LoggerMessage version.
Functional programming
This library uses and abuses the features of C# 6+ to provide a functional 'Base class library', that, if you squint, can look like extensions to the language itself. It also includes an 'Erlang like' process system (actors) that can optionally persist messages and state to Redis (note you can use it without Redis for in-app messaging). The process system additionally supports Rx streams of messages and state allowing for a complete system of reactive events and message dispatch.
Provides extra methods to LINQ to Objects.
Game
One framework for creating powerful cross-platform games
FNA is an XNA4 reimplementation that focuses solely on developing a fully accurate XNA4 runtime for the desktop
Duality is a 2D game development framework. Focused on modularity, comes with a visual editor.
Nez is a free 2D-focused framework that works with MonoGame and FNA
BEPUphysics is a pure C# 3D physics library
A 2D application/game written with amazing games in mind.
A port of Recast & Detour, navigation mesh toolset for games, Unity3D, servers, C#
Foster is a small cross-platform 2D game framework in C#.
High-performance C# ECS with simple API. Supports .NET, WASM/WebAssembly, Native AOT, Unity, Godot, MonoGame, ...
A C# port of Box2D, a 2D physics engine for games, servers, and Unity3D
GIS
A .NET GIS solution that is fast and reliable for the .NET platform
.Net library for GeoJSON types & corresponding Json.Net (de)serializers
Easily parse or convert coordinate formats and calculate location based solar/lunar information.
.Net library for Digital Elevation Models, allows 3D terrain generation in glTF / STL format.
Git Tools
Git hooks made easy with Husky.Net internal task runner, You can use it to lint your commit messages, run tests, lint code, etc... when you commit or push. supports C# scripts, gitflow hooks, Multiple file states (staged, lastCommit, glob)
GitExtensions is a shell extension, a Visual Studio 2008/2010/2012/2013 plugin and a standalone Git repository tool. https://gitextensions.github.io/
Generate a Semantic Version Number based on the state of your Git repository
LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .NET and Mono.
A PowerShell environment for Git
Helps solving issues of credentials
Graphics
The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL
A cross-platform, high-performance, low-level .NET Standard wrapper for many advanced APIs such as OpenGL, OpenCL, OpenAL, OpenXR, Assimp, GLFW, as well as many others. In addition to wrapping over Native APIs, it also comes with its own Windowing and Input abstraction. This makes game and application development with Silk.NET a breeze, and has pretty much everything a 3D application developer would need.
A low-level, portable graphics and compute library for .NET
.NET library to create vector graphics and text, and then export it to PDF, SVG and raster image formats.
GraphQL
Implementation of Facebook's GraphQL in .Net
GraphQL server compatible to all GraphQL compliant clients like Strawberry Shake, Relay, Apollo Client, and various other clients and tools.
library to build a GraphQL API on top of data model with the extensibility to easily bring multiple data sources together in the single GraphQL schema (EF is not a requirement - any ORM working with LinqProvider or an in-memory object will work).
high-performance C#-friendly GraphQL client. It supports Linq-like syntax. It doesn't require Reflection.Emit or expressions. As a result, the runtime provides performance very close to a raw HTTP call.
GUI
GUI - Framework
A multi-platform .NET UI framework (formerly known as Perspex).
The Windows UI Library (WinUI) provides official native Microsoft UI controls and features for Windows UWP apps.
Build native UIs for iOS, Android and Windows from a single, shared C# codebase.
Cross-platform GUI framework for desktop and mobile applications in .NET and Mono
Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono
Mono/.NET Bindings for Qt
Create .NET cross-platform desktop apps using not just HTML, but all features of Sciter engine: CSS3, SVG, scripting, AJAX, <video>... Sciter is free for commercial use
A cross-platform UI toolkit for creating desktop applications with .NET and Mono
A cross-platform Qml/.NET integration for Mono/.NET/.NET Core
Lara Web Engine is a library for developing Web user interfaces in C# - (Blazor Server-Side Alternative)
Build .NET desktop applications using HTML, CSS, javascript and MVVM bindings such as with WPF.
Photino is a lightweight open-source framework for building native, cross-platform desktop applications with Web UI technology.
GUI - Themed Control Toolkits
Set of controls and styles to convert WPF applications into a great looking Modern UI apps.
Toolkit for creating Metro-styled WPF apps
Theming .NET WinForms, C# or VB.Net, to Google's Material Design principles.
Lightweight UI toolkit for WPF applications offering classic but enhanced Windows visuals.
Contains some simple and commonly used WPF controls
The UWP Community Toolkit is a collection of helper functions, custom controls, and app services. It simplifies and demonstrates common developer tasks building UWP apps for Windows 10.
GUI - other
A control toolkit for Windows 8 XAML applications. Contains some UI controls to make it easier to create Windows UI style apps for the Windows Store in accordance with Windows UI guidelines.
A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.
The WPF-based text editor component used in SharpDevelop
HTML and CSS
Complete HTML5 DOM and CSS3 OM construction
.NET port of the Ruby Less CSS lib http://www.dotlesscss.org
CSS3 parser library for C#
.NET wrapper around the libSass library with the ability to support a virtual file system
HTTP
Simple REST and HTTP API client for .NET
The automatic type-safe REST library for Xamarin and .NET
An open source project based on the HttpClient. You only need to define the c# interface and modify the related features to invoke the client library of the remote http interface asynchronously.
Refit based web api client, but resilient (retry, connectivity, cache, auth, log, priority, etc...).
A fully managed and fully streamed Man-On-The-Middle library to intercept, record and alter HTTP/1.1, H2, websocket traffic over plain or secure channels.
Strongly-typed, extensible HTTP client with fluent request builder, streaming & multipart. Built on .NET's HttpRequestMessage.
IDE
Image Processing
Image processing webservice based on ASP.NET Core and ImageSharp / SkiaSharp / SvgNet / DocNET
Fully managed cross-platform library for processing of image files.
High-performance image processing pipeline for .NET, focused on making complex imaging tasks simple.
Extracts Exif, IPTC, XMP, ICC and other metadata from image files.
.NET wrapper for the ImageMagick library.
Cross platform wrapper of OpenCV for .NET Framework.
Cross-platform (Windows/macOS/Linux) image viewer which supports reading raw Luminance/YUV/RGB/ARGB/Bayer pixels data from file and rendering it. 10/16-bit YUV and viewing image frame sequence are also supported (v1.99+).
Open source .NET library for working with color spaces.
Colour conversion, interpolation, and comparison for .NET.
Install tools
The most powerful set of tools available to create your Windows installation experience
Squirrel is both a set of tools and a library, to completely manage both installation and updating your desktop Windows application.
like yum or apt-get, but for Windows.
An unopinionated auto-update framework for desktop applications.
Interactive programming
Internationalization
Interoperability
Tools to surface C++ APIs to C#
Python and .NET interop framework
A library containing P/Invoke code for latest Windows OS.
This library allows your Java or .NET program to interface very easily with the Python world. It uses the Pyro protocol to call methods on remote objects.
JavaScript Engines
A library that makes it easy to add scripting to your .NET applications. It currently supports JavaScript (via V8 and JScript) and VBScript.
Run .NET and Node.js code in-process on Windows, macOS, and Linux
JavaScript interpreter for .NET which provides full ECMA 5.1 compliance and can run on any .NET platform.
A implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET.
JavaScript Runtime (Similar to NodeJS) for .NET Standard, compiles JavaScript to IL, support for many ES6 features, generators, CommonJS modules, CSX modules and expression compiler.
Machine Learning and Data Science
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
Multi-platform genetic algorithm library for .NET Core and .NET Framework. The library has several implementations of GA operators, like: selection, crossover, mutation, reinsertion and termination.
Cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers.
Genetic algorithm .NET library for solving optimization problems, featuring extensible operators and adaptive strategy selection.
Markdown Processors
A complete cross-platform mail stack including IMAP, POP3, SMTP, authentication and more. Built on top of MimeKit.
A fully-featured fluent wrapper for MailKit that makes sending and receiving emails as simple as possible.
A cross-platform .NET MIME creation and parser library with support for S/MIME, PGP, TNEF and Unix mbox spools.
C# library that moves your stylesheets to inline style attributes, for maximum compatibility with e-mail clients.
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
Comprehensive math expression library with symbolic computation support including differentiation, simplification, and equation solving.
A set of tools for graph layout and viewing.
Simple and lightweight computational geometry library for .Net
Implementation of rational number arithmetic for .NET with arbitrary precision.
A simple cross platform .NET API for Intel MKL.
An open-source symbolic/computer algebra library, made primarily for C# and F#. It covers a range of features and might be considered as an alternative to SymPy in .NET.
a .NET library for rendering mathematical formulae using the LaTeX typesetting style, for the WPF framework
Media
An advanced audio library, supporting playback/recording, decoding/encoding and processing of audio data in realtime (effects, visualizations, ...).
TagLib# (aka taglib-sharp) is a library for reading and writing metadata in media files, including video, audio, and photo formats
Xamarin bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
Playback, decode and encode audio in a variety of file formats such as MP3, MP4, WAV, AIFF, Speex, etc.
.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. [$]
.NET Audio Framework for audio and MIDI playback, editing, and plugin integration.
Minification
.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.
Send compressed static files to the browser without having to compress on demand, also has support for sending more advanced image formats when the browser indicates that i has support for it.
Misc
RazorKit is a collection of lightweight, fluent-style Razor HTML helpers that make it easy for developers to integrate popular JavaScript libraries into their ASP.NET applications.
Take HTML Snapshots for your Angular, Ember, Durandal or any JavaScript applications
Library to help reading and writing CSV files https://github.com/JoshClose/CsvHelper
Library to help reading and writing CSV and Flat files with zero heap allocation.
World's Fastest .NET CSV Parser. Modern, minimal, fast, zero allocation, reading and writing of separated values (csv, tsv etc.). Cross-platform, trimmable and AOT/NativeAOT compatible.
Fluent library to create table for .Net console application.
A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
Validot is a performance-first, compact library for advanced model validation. Using a simple declarative fluent interface, it efficiently handles classes, structs, nested members, collections, nullables, plus any relation or combination of them. It also supports translations, custom logic extensions with tests, and DI containers.
Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
View SQL Server and Postgres query plans directly inside LINQPad.
Express transient-exception-handling and resilience policies such as Retry, Wait-and-Retry, Circuit Breaker, and Bulkhead Isolation in a fluent manner. Fully thread-safe and full async support. (4.0 / 4.5 / .NET Core / .NET Standard / Xamarin).
Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron
TypeShape is a small, extensible F# library for practical generic programming
ByteSize is a utility class that makes byte size representation in code easier by removing ambiguity of the value being represented. ByteSize is to bytes what System.TimeSpan is to time.
a library for persisting and restoring application state (a better alternative to .settings files).
Enums.NET is a high-performance type-safe .NET enum utility library
Ultimate library for extracting metadata and downloading Youtube videos and playlists.
Generate a 'device ID' that can be used to uniquely identify a computer.
The Universal Device Detection library will parse any User Agent and detect the browser, operating system, device used (desktop, tablet, mobile, tv, cars, console, etc.), brand and model.
Extension method for StringComparer that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1", "abc10", "abc2").
Near-zero config .NET Core library that makes Task Scheduling, Caching, Queuing, Mailing, Event Broadcasting (and more) a breeze!
Simple build versioning for .NET, powered by Git tags
High-performance, low-allocating JSON object diff and patch extension for System.Text.Json. Support generating patch document in RFC 6902 JSON Patch format.
A command-line tool for executing C# program without a project file, and you can have your custom entry point other than Main method.
A a .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders.
A JIT (just-in-time) compiler for high-performance GPU programs written in .Net-based languages.
MQTT
MVVM
A small, yet powerful framework, designed for building applications across all XAML platforms. Its strong support for MV* patterns will enable you to build your solution quickly, without the need to sacrifice code quality or testability.
Catel is an application development platform with the focus on MVVM (WPF, Silverlight, Windows Phone and WinRT) and MVC (ASP.NET MVC). The core of Catel contains an IoC container, models, validation, memento, message mediator, argument checking, etc.
An MVVM framework for .NET that integrates the Reactive Extensions (Rx) framework, enabling developers to build elegant, testable applications using WPF, Windows Store Apps, WP8 or Xamarin.
A cross-platform desktop and mobile MVVM development framework.
A lightweight Framework that helps you to create well structured WPF and UWP Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel pattern.
Cross-platform mvvm mobile development framework for WPF, Silverlight for WP7 and WP8, Mono for Android, MonoTouch for iOS, Windows Universal projects (WPA8.1 and Windows 8.1 Store apps). Makes extensive use of Portable Class Libraries (PCL) to provide maintainable cross platform C# native applications.
Minimal MVVM framework inspired by Caliburn Micro, with good documentation, high test coverage, and its own IoC container
Visual Composition framework to easily build modularized MVVM applications based on the Managed Extensibility Framework (MEF).
Framework simplifying the concept of opening dialogs from a view model when using MVVM in WPF or UWP.
Networking
Ultra fast and low latency asynchronous socket server & client C# .NET Core library with support TCP, SSL, UDP, HTTP, HTTPS, WebSocket protocols and 10K connections problem solution (NETStandard).
Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets from live and file based devices.
Object to object mapping
Office
ExcelDna makes it easier to create and deploy Excel Add-Ins using C#, F# or VB .NET
ClosedXML makes it easier for developers to create Excel 2007/2010 files
OfficeIMO makes it easier for developers to create/modify Word (docx) files without having Microsoft Word or Office installed
This project is the .NET version of POI Java project at https://poi.apache.org/.
EPPlus is a .NET library that reads and writes Excel 2007/2010 files using the Open Office XML format (xlsx).
The Open XML SDK provides open-source libraries for working with Open XML Documents (DOCX, XLSX, and PPTX).
DocX is a .NET library that allows developers to manipulate Word 2007/2010/2013 files, it does not require Microsoft Word or Office to be installed.
Lightweight and fast library written in C# for reading Microsoft Excel files (2.0-2007).
.NET wrapper assemblies for Microsoft Office applications.
A fluent API for the processing of PowerPoint presentations without Microsoft Office installed.
A micro Excel helper avoids OOM and high performance to create/mapping/template-fill-data.
Web-based invoice reconciliation platform with OCR extraction and automated purchase order matching using ASP.NET Core and Azure Form Recognizer.
.NET text extraction framework supports a few file formats
ORM
Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
Use typed Exceptions for Entity Framework Core when your SQL query violates database constraints in SqlServer, MySql, PostgreSQL or SQLite
Simple library that can help to sync a large number of records in-memory into the database. Lambda Expression is supported.
Entity Framework Core Bulk Extensions for super fast (BulkCopy) CRUD ops + SaveChanges on multiple DBs: SQL, PG, My, Lite.
A simple object mapper for .NET by StackExchange
The fastest micro-ORM extension for Dapper
Dapper Query Builder using String Interpolation and Fluent API
Another ORM library supports many RDBMS including MySql, SqlServer, Sqlite, Oracle, Postgresql - NOTE: This is not affiliated with Microsoft or .NET
a convenient ORM in dotnet, supports MySql, SqlServer, PostgreSQL, Oracle, Sqlite, Firebird, 达梦, 人大金仓, 神舟通用, 翰高 and Access. - NOTE: This is not affiliated with Microsoft or .NET
Fluent, XML-less, compile safe, automated, convention-based mappings for NHibernate.
Fluent Migrations framework for .net
The fastest LINQ database access library offering a simple, light, fast, and type-safe layer between your POCO objects and your database.
A tiny ORM-ish thing for your POCOs
Simple microORM that maps the results of a query onto a POCO object. Based on Schotime's branch of PetaPoco
Insight.Database is a fast, lightweight, micro-ORM for .NET
A hybrid ORM library for .NET.
An "Entity Framework"-like interface for MongoDB
High performane ORM for Sqlite, MySql, SqlServer, PostgreSQL & NoSQL. Provides server with REST, GraphQL & WebSocket / PubSub API.
Package Management
A C# wrapper written around QPdf to allow for easy PDF manipulation that is tested for both linux and windows. QPdf is one of the only libraries capable of PDF linearization, and this wrapper ensures you keep up to date with the underlying improvements.
iText is a PDF library that allows you to CREATE, ADAPT, INSPECT and MAINTAIN documents in the Portable Document Format (PDF)[$] [Free for OSS]
A wrapper to drive the awesome pdftk binary, which can fill PDF forms, get field information, concatenate multiple documents or pages, split documents, add or replace stamps, and can attach files to or download files from pages.
Profiler
Protocols
A Secure Shell (SSH) library for .NET, optimized for parallelism. Provides SSH commands, SFTP/SCP uploads and downloads, and SOCKS4/SOCKS5/HTTP proxies.
An FTP and FTPS library for .NET, optimized for speed. Provides extensive FTP commands, file uploads/downloads and FTP proxies.
A simple yet very powerful and high performant open source library for the .NET Framework to do DNS lookups.
RPC
An RPC library and framework for .NET Core. Read more about it on Docs Microsoft
gRPCurl is a command-line tool that lets you interact with gRPC servers. It's basically curl for gRPC servers.
gRPC UI is a command-line tool that lets you interact with gRPC servers via a browser. It's sort of like Postman, but for gRPC APIs instead of REST.
Reactive Programming
Real-time Communications
Scheduling
Class library for parsing & formatting crontab expressions as well as calculating occurrences of time based on a crontab schedule
Simple task scheduler library for scheduling NCrontab-based tasks
Quartz Enterprise Scheduler .NET
This framework allows users to write long running persistent workflows in C# using the async/await capabilities.
Lightweight embeddable workflow engine
A powerful and intuitive .NET library for defining, filtering, transforming, and scheduling instant and period timelines.
Lightweight, high-performance, reflection-free job scheduler for .NET with EF Core, cron/time-based execution, custom locking, and retry support.
A Job Scheduler sitting on top of IHostedService in dotnet.
Human-readable scheduling library for .NET using natural-language expressions.
SDK and API Clients
The AWS SDK for .NET enables .NET developers to easily work with Amazon Web Services
A set of PowerShell cmdlets for developers and administrators to develop, deploy and manage Microsoft Azure applications
Windows SDK for Countly analytics and marketing platform for product and marketing managers
A GitHub API client library for .NET
Official .NET SDK for the Dropbox API
SDK for the Getty Images and iStock APIs
Search
Embedded Search Libraries
Lunr-core is a small, full text search library for use in small applications. It's a .NET port of LUNR.js.
Smallest full text search engine (lucene replacement). built from scratch using inverted Roaring bitmap index, highly compact storage, operating in database and document modes
efficient full-text search library. extends ZoneTree. It is fast, embedded search engine suitable for applications that require high performance and do not rely on external databases.
SMS and Phone calls
State machines
Static Site Generators
Template Engine
Open source template engine based on Microsoft's Razor parsing engine supporting .NET Standard 2.0
C# port of the Ruby Liquid templating language
A fast, powerful, safe and lightweight text templating language and engine for .NET
A full sized {{mustache}} like template engine with focus on extendibility.
Fluid is an open-source .NET template engine based on the Liquid template language.
A lightweight text templating library written in C# which can be a drop-in replacement for string.Format
A real .NET Handlebars engine
Testing
Simple library for checking the architecture of C# code with a fluent API.
AutoFixture is an open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests
A behaviour driven testing and reporting framework!
A simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
Use plain C# syntax in assertions that include both the expression expression and subexpression values in the failure message.
The easy mocking library for .NET https://fakeiteasy.github.io
A set of .NET extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style test [Source Available] [Free for OSS]
Random Testing for .NET.
Machine.Specifications (MSpec) is a context/specification framework that removes language noise and simplifies tests.
The most popular and friendly mocking framework for .NET
Very simple load testing framework for Pull and Push scenarios. It's 100% written in F# and targeting .NET Core and full .NET Framework.
A friendly substitute for .NET mocking frameworks
A unit-testing framework for all .NET languages
A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
SecTester is a new tool that integrates Bright enterprise-grade scan engine directly into your integration or e2e tests. [Proprietary] [Free]
Shouldly is an assertion framework which focuses on giving great error messages when the assertion fails while being simple and terse.
A snapshot testing tool for .NET Core and .NET Framework
Mutation testing for .NET Core projects
A free, open source, community-focused unit testing tool for the .NET Framework.
Canopy is a free, open source F# web automation and testing framework
A smooth testing framework for F# with tests as values. Unit testing, property based testing, performance testing and stress testing.
Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.
Verification tool to enable simple approval of complex models and documents.
Random testing library for C#. Including concurrency, causal profiling, regression and performance testing.
A lightweight .NET framework that makes integration tests fully isolated by orchestrating reusable infrastructures and environments, auto-resetting between tests. TestContainers and SQL Server built-in support. Based on XUnit.
Tools
Fast and reliable multipart downloader with asynchronous progress events for .NET applications.
Blog writer which integrated with WordPress, Blogger, et. al. Open Live Writer makes it easy to write, preview, and post to your blog.
ShareX is a 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.
Stack Exchange's Monitoring System
API mock server with fast setup, useful to simulate HTTP responses, leveraging ASP.NET Core features, built-in fake data generation and C# scripting engine powered by Roslyn scripting API.
Papercut is an open source (.NET based) test email viewer that runs locally with a built-in SMTP server designed to receive and notify of test email messages.
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.
A powerful tool for managing networks and troubleshoot network problems!
YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET.
An opinionated code formatter for c# that is based on the Prettier printing process.
Makes life working with units of measurement just a little bit better.
A faster, better and more stable redis desktop manager [GUI client], compatible with Linux, Windows, Mac. What's more, it won't crash when loading massive keys.
A high performance multipart downloader with many features such as pause/resume support, asynchronous progress, and throttling.
Fast deep cloning library for .NET 8+. Zero-config, works out of the box.
STranslate is a ready-to-go translation ocr tool developed with WPF.
A software simulator of HSM and smartcard simulator with HTML UI, REST API and PKCS#11 interface.
Trading
Lean Engine is an open-source fully managed C# algorithmic trading engine built for desktop and cloud usage. https://www.quantconnect.com/lean/
Trading and algorithmic trading open source platform (stock markets, forex, bitcoins and options). https://stocksharp.com
UI Automation
Automated web testing full featured framework based on Selenium WebDriver.
FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...).
Puppeteer Sharp is a .NET port of the official Node.JS Puppeteer API.
Contributions to Puppeteer Sharp that provides a convenient way to write readable and robust browser tests.
Visual Studio Plugins
VIM in Visual Studio
A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn
SonarLint is a free, open source Visual Studio 2017, 2019 and 2022 extension that provides on-the-fly feedback to developers on new bugs and quality issues in C#, VB.NET, C/C++, TypeScript and JavaScript.
Web Browsers
Web Frameworks
Coalesce is a framework for rapid-development of ASP.NET Core web applications.
Modern and powerful back-end framework under ASP.NET Core.
MVVM framework for people who don't like to write JavaScript, with OWIN and ASP.NET Core support and a free extension for Visual Studio 2015 and 2017.
Functional (F#) ASP.NET Core micro framework for building rich web applications
Web Servers
WebSocket
Library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications
SuperSocket is a light weight extensible socket application framework
A C# implementation of the WebSocket protocol client and server
A multiplatform wrapper over native C# class ClientWebSocket with built-in reconnection and error handling.
WPF
Listen Global keyboard / mouse events. simple to use. for Windows UI applications (WPF, MAUI, Avalonia)
Modular extensions for the WPF DataGrid control, like filtering, additional column events, extended star-size column behavior, and more...
A rich collection of controls, components and utilities for creating WPF applications
WPF is a .NET Core UI framework for building Windows desktop applications.
Parser Library
A pratt parser library.
A lightweight, fast and flexible parsing library for C#, developed at Stack Overflow
A C# parser construction toolkit with high-quality error reporting
A light embedded C# lexer/parser generator.
A recursive descent parsing library with operator overloading for C#.
Source Generator
Code Generation Toolkit where templates are written using plain C#. Command-line tool, MSBuild task, Visual Studio Extension, and Roslyn Source Generator.
Effortlessly generate fluent APIs for your C# classes.
A C# source generator to create an enumeration class from an enum type. With this package, you can work on enums very, very fast without using reflection.
A value object generator with analizers.
A simple source generator for discriminated unions in C#.
Generates synchronous methods from async ones to avoid code duplication.
Other Lists
List of Automated Testing (TDD/BDD/ATDD/SBE) Tools and Frameworks for .NET
Open Source .NET libraries that make your life easier
A curated collection of awesome LINQ libraries, tools, and more.
A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes.
A collection of awesome .NET core libraries, tools, frameworks and software
A list of what .NET libraries and frameworks are currently supported by ASP.NET Core and .NET Core).
A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors.
A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources
A categorized community-driven collection of high-quality awesome Unity assets, projects, and resources.
A collection of interesting libraries/tools for Xamarin mobile projects.
A curated list of awesome Roslyn books, tutorials, open source projects, analyzers, code fixes, and refactorings.
This community maintained list showcases .NET open source projects that are useful for any aspect of the development process.
A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core.
Game examples implemented in .NET console applications.
Sorted lists of awesome .NET repositories, with counts of stars, issues, and forks!