awesome-dotnet
A collection of awesome .NET libraries, tools, frameworks and software
https://github.com/quozd/awesome-dotnet
Last synced: 1 day ago
JSON representation
-
API
- ASP.NET Web API - Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
- Breeze - API framework enabling rich data access by using the OData 3 protocol. Client libraries available for JavaScript and C#.
- FastEndpoints - High-performance middleground between classic ASP.NET Core API controllers and Minimal APIs. Using a REPR ([Request-Endpoint-Response](https://deviq.com/design-patterns/repr-design-pattern)) pattern, this library eliminates the boilerplate and monolithic feel of controllers by improving colocation of code.
- Telegram.Bot - .NET Client for [Telegram Bot API](https://core.telegram.org/bots/api)
- TLSharp - It's a perfect fit for any developer who would like to send data directly to Telegram users or write own custom Telegram client.
- WTelegramClient - Automate a user account on Telegram, using the latest version of [Telegram Client API](https://core.telegram.org/methods)
- NancyFx - Lightweight, low-ceremony, framework for building HTTP-based services on .NET and Mono
- Mobius: C# API for Spark - Mobius adds C# language binding to Apache Spark, enabling the implementation of Spark driver code and data processing operations in C#.
- Nelibur - Nelibur is message based web service framework on the pure WCF. Nelibur simplifies creating high-performance and message-based web services and you certainly have all the power of the WCF.
- WebAPI Contrib - Collection of open source projects to help improve your work with ASP.NET Web API
- FFImageLoading - Fast & Furious Image Loading - This Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT)
- Ocelot - .NET core API Gateway
- Population.NET - 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.
- CommandQuery - Command Query Separation for 🌐ASP.NET Core ⚡AWS Lambda ⚡Azure Functions ⚡Google Cloud Functions 🌐ASP.NET Web API 2
- ASP.NET Web API - Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
- Wissance.WebApiTookit - 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.
-
Artificial Intelligence
- AIMLBot (Program#) - A small, fast, standards-compliant yet easily customizable implementation of an AIML (Artificial Intelligence Markup Language) based chatter bot in C#.
- SIML - Synthetic Intelligence Markup Language, a next generation Chatbot & Digital Assistant Language.
- Mpt-Instruct-DotNet-S - LLM that can generate and explain C# code (and its C# wrapper to run on consumer CPU with 5GB ram+, contains Console and Blazor sample projects)
- LLamaSharp - C#/.NET Binding of llama.cpp, run LLaMA/GPT model using C# without having to compile lama.cpp.
- LlmTornado - One .NET library to consume OpenAI, Anthropic, Cohere, Google, Azure, Groq, and self-hosed APIs.
-
Authentication and Authorization
- IdentityModel - Helper library for identity & access control in .NET 4.5 and MVC4/Web API.
- IdentityServer - Extensible OAuth2 and OpenID Connect provider framework.
- OAuth - A very lightweight library for generating OAuth 1.0a signatures written in C#
- Stuntman - Stuntman is a library for impersonating users during development leveraging .NET Claims Identity.
- Abblix OIDC Server - 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]**
- ASP.NET SAML - SAML authentication support for ASP.NET apps
- openiddict - Flexible and versatile OAuth 2.0/OpenID Connect stack for .NET
- Enforcer - Write fine grained authorization policy in easy-to-read language, and have it compiled to native .NET code **[$]**
- SAML IdentityServer - Add SAML 2P support to your Duende IdentityServer **[$]**
- SAML OpenIddict - Add SAML 2P support to your OpenIddict **[$]**
- Logto - An IAM infrastructure for modern apps and SaaS products, supporting OIDC, OAuth 2.0 and SAML for authentication and authorization **[$][Free for OSS]**
- ASP.NET Core Identity - New membership system for ASP.NET applications
- Logibit Hawk - A F# [Hawk](https://github.com/outmoded/hawk) authentication library
- Topaz - A fine-grained authorization system with .NET SDK.
- SAML OpenIddict - Add SAML 2P support to your OpenIddict **[$]**
-
Business Intelligence
- NReco PivotData - in-memory data aggregation/OLAP library, pivot tables generation (render to HTML, exports), ASP.NET pivot builder control **[$][Free for single-deployment/non-SaaS]**
- FastReport - The open source report generator for .NET Core 2.x/.Net Framework 4.x. FastReport can be used in ASP.NET MVC, Web API applications.
-
CLI
- Appccelerate - Command Line Parser - A command-line parser with fluent definition syntax, different argument types, required and optional arguments, value restrictions, aliases, type conversion and semi-automatic usage help message composition
- Argu - Declarative CLI argument & XML configuration parser for F# applications.
- CliFx - Declarative framework for building command line interfaces.
- Typin - Simple to use declarative framework for interactive CLI applications and command line tools (direct mode) that has its roots in CliFx.
- clipr - A CLI library inspired by Python's argparse that transforms a command line into a strongly-typed object. It supports custom argument types, automated (and localized) help generation, and a variety of ways to store parsed arguments.
- CliWrap - Wrapper for command line interfaces.
- Colorful.Console - Colorful console output.
- CommandDotNet - 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.
- Command Line Parser - The Command Line Parser Library offers to CLR applications a clean and concise API for manipulating command-line arguments and related tasks
- CommandLineUtils - This is a fork of Microsoft.Extensions.CommandLineUtils, which is no longer under active development.
- CsConsoleFormat - .NET C# library for advanced formatting of console output.
- Docopt - Command-line interface description language that will make you smile.
- EntryPoint - Composable CLI Argument Parser for .NET Core & .NET Framework 4.5+.
- Fluent Command Line Parser - A simple, strongly typed .NET C# command-line parser library using a fluent easy to use interface
- JustCli - That’s just a quick way to create your own command line tool.
- Power Args - 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
- ReadLine - A GNU-Readline like library for .NET/.NET Core.
- RunInfoBuilder - A unique command line parser, utilizing object trees for commands.
- SharpNetSH - A simple netsh library for C#.
- Gui.cs - Terminal UI toolkit for .NET.
- spectre.console - A library that makes it easier to create beautiful console applications.
-
CMS
- DotNetNuke - DNN Platform is our free, open source web CMS and the foundation of every professional DNN solution. Over 750,000 organizations worldwide have built websites powered by the DNN Platform.
- Composite C1 - A web CMS that focus on UX and adaptability
- mojoPortal - MojoPortal is an extensible, cross database, mobile friendly, web content management system (CMS) and web application framework written in C# ASP.NET
- N2CMS - Open source, lightweight, code-first CMS able to seamlessly integrate into any MVC project.
- Orchard - Free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform
- Umbraco - Umbraco is a free open source Content Management System built on the ASP.NET platform
- Squidex - square&cacheSeconds=604800)  - Open source headless CMS and content management hub. https://squidex.io
- FluentCMS - FluentCMS is open source AI Driven ASP.NET Core Blazor Content Management System (CMS)
- Piranha CMS - 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
- fluent-cms - 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.
- fluent-cms - 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
- PVS-Studio - PVS-Studio is a static analyzer on guard of code quality, security (SAST), and code safety. **[[Free for OSS](https://pvs-studio.com/en/order/open-source-license/)]** **[$]**
- NDepend - is a Visual Studio and VS Team Services extension that estimates your .NET code quality and Technical-Debt, that lets create code rules with C# LINQ syntax, visualize code structure and focus on changes and evolution. **[$]**
- CodeMaid - Visual studio extension to cleanup, dig through and simplify C#, C++, F#, VB, PHP, JSON, XAML, XML, ASP, HTML, CSS, LESS, SCSS, JavaScript and TypeScript coding.
- StyleCop - StyleCop analyzes C# source code to enforce a set of style and consistency rules
- Bencher - Suite of continuous benchmarking tools designed to catch performance regressions in CI.
- Codinion - Enhanced syntax highlighting for C# and some other "Visual" features. **[$]**
- .NET Compiler Platform ("Roslyn") Analyzers - A number of Roslyn diagnostic analyzers initially developed to help flesh out the design and implementation of the static analysis APIs.
- App.Metrics - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health. See the [docs](https://www.app-metrics.io/) for me details.
- Gendarme - Extensible rule-based tool to find problems in .NET applications and libraries
- Metrics-Net - Capturing CLR and application-level metrics. So you know what's going on.
- AspNet.Metrics - Capturing CLR, application-level web request metrics. Middleware and extensions using Metrics-Net
- BenchmarkDotNet - Powerful .NET library for benchmarking.
- NsDepCop - Static code analysis tool to enforce namespace dependency rules in C# projects.
- WebBen - Is a tool for benchmarking your Hypertext Transfer Protocol (HTTP) server.
- Codinion - Enhanced syntax highlighting for C# and some other "Visual" features. **[$]**
-
Code Snippets
- .NET Fiddle - Write, compile and run C#, F# and VB code in the browser. The .Net equivalent of JSFiddle.
- Sharplab - Run C# code using different branches and versions of Roslyn, see the IL that was produced and examine the JIT's output.
- Entity Framework Playground - Examine the generated SQL for migrations and queries by writing `DbContext` and queries using it in the browser. Learn by example, compare different versions of Entity Framework and providers such as MS SQL, PostgreSql and Sqlite.
-
Compression
- Snappy for Windows - Snappy compression library for .NET baked on P/Invoke
- SharpCompress - 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
- DotNetZip.Semverd - An open-source project that delivers a .NET library for handling ZIP files, and some associated tools. (fork of [**Unmaintained** DotNetZip](https://archive.codeplex.com/?p=dotnetzip))
- SharpZipLib - a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform
- Snappy.Sharp - An implementation of Google's Snappy compression algorithm in C#.
- FastLZMA2NET - A .NET Wrapper of [Fast LZMA2 Algorithm](https://github.com/conor42/fast-lzma2).
-
Continuous Integration
- TeamCity - Ready to work, extensible and developer-friendly build server — out of the box **[$]**
- AppVeyor - .NET Continuous Integration and Deployment as a service. **[$]** **[Free for OSS]**
- MyGet - Continuous Integration and Deployment, Hosted Package Repository for NuGet, NPM, Bower and VSIX **[$]**
-
Cryptography
- HashLib - HashLib is a collection of nearly all hash algorithms you've ever seen, it supports almost everything and is very easy to use
- NaCl.Core - A managed-only cryptography library for .NET which provides modern cryptographic primitives.
- Paseto.Core - A Paseto (Platform-Agnostic Security Tokens) implementation for .NET
- Pkcs11Interop - Managed .NET wrapper for unmanaged PKCS#11 libraries that provide access to the cryptographic hardware
- StreamCryptor - Stream encryption & decryption with libsodium and protobuf
- SecurityDriven.Inferno - .NET crypto library. Professionally audited.
- CryptoNet - .NET simple crypto library. Native c#.
- BouncyCastle - Together with the .Net System.Security.Cryptography, the reference implementation for cryptographic algorithms on the CLR.
- CryptoNet - .NET simple crypto library. Native c#.
-
Database Drivers
- MySQL Connector - Connector/Net is a fully-managed ADO.NET driver for MySQL
- Firebird.NET - The .NET Data provider is written in C# and provides a high-performance, native implementation of the Firebird API
- DuckDB.NET - .NET data provider for DuckDB
- Npgsql - .NET data provider for PostgreSQL
- MongoDB - Official MongoDB C# driver
- ServiceStack Redis - .NET's leading C# Redis client
- StackExchange Redis - General purpose Redis client from StackExchange
- Cassandra - DataStax .NET driver for Apache Cassandra
- Couchbase - Official Couchbase .NET client library, based on the Enyim memcached client
- Rqlite-dotnet - .NET client for rqlite (distributed relational DB based on SQLite)
-
Decompilation
- ILSpy - ILSpy is the open-source .NET assembly browser and decompiler
- dotPeek - Free-of-charge standalone tool based on ReSharper's bundled decompiler. It can reliably decompile any .NET assembly into equivalent C# or IL code. It can create Visual Studio solutions based on the original binary files in a straight-forward way. **[Proprietary]** **[Free]**
- dnSpyEx - Unofficial revival of dnSpy
- dnSpy - open-source .NET assembly browser, editor, decompiler and debugger
-
Distributed Computing
- MBrace - Integrated Data Scripting for the Cloud
- .NEXT Raft - Raft implementation for .NET and ASP.NET Core that allows to build clustered microservices powered by distributed consensus and replication
- Orleankka - 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 - 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 - 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.
- FsShelter - F# library for authoring [Apache Storm](https://storm.apache.org) components and topologies. Offering high-level abstractions for distributed and fault-tolerant event stream processing.
- Orleans - 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.
- protoactor-dotnet - Proto Actor - Ultra fast distributed actors for Golang and C#
-
ETL
- Reactive ETL - Reactive ETL is a rewrite of Rhino ETL using the reactive extensions for .NET
- Cinchoo ETL - ETL Framework for .NET (Read / Write CSV, Flat, Xml, JSON, Key-Value formatted files)
- EtlBox.Classic - Lightweight ETL (extract, transform, load) library and data integration toolbox for .NET built on top of Microsoft TPL.Dataflow library.
-
Event aggregator and messenger
- Rx Event Aggregator - Super-simple Reactive-Extension code from Reactive.EventAggregator
- Mediator.Net - A simple mediator for .NET for sending command, publishing event and request response with pipelines supported
- MediatR - Simple, unambitious mediator implementation in .NET
- TinyMessenger - A lightweight event aggregator/messenger for loosely coupled 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.
- FluentMediator - FluentMediator is an unobtrusive library that allows developers to build custom pipelines for Commands, Queries and Events
- EventFlow - EventFlow is an Async/await first CQRS and Event Sourcing DDD framework for .NET
- LiteBus - An easy-to-use and ambitious in-process mediator providing the foundation to implement Command Query Separation (CQS)
-
Extensions
- ExtensionMethods.Net - Site with collection of extension methods
- Z.ExtensionMethods - Over a 1000 useful extension methods
-
Game
- Stride Game Engine - Stride Game Engine is a 2D/3D cross-platform game engine featuring a scene editor, particles, physically based rendering (PBR), scripting, and much more
- Wave Engine - Wave engine is a free C# component-based modern game engine which allows you to create cross-platform games supporting Kinect, Oculus Rift, Vuforia, Cardboard, Leap Motion and much more. **[Free][Proprietary]**
- MonoGame - One framework for creating powerful cross-platform games
- FNA - FNA is an XNA4 reimplementation that focuses solely on developing a fully accurate XNA4 runtime for the desktop
- CocosSharp - CocosSharp is a C# implementation of the Cocos2D and Cocos3D APIs that runs on any platform where MonoGame runs
- Duality - Duality is a 2D game development framework. Focused on modularity, comes with a visual editor.
- UrhoSharp - UrhoSharp is a C# implementation of the Urho3D game engine that runs on iOS, Mac, Windows, Android and Linux systems
- Nez - Nez is a free 2D-focused framework that works with MonoGame and FNA
- BEPUphysics - BEPUphysics is a pure C# 3D physics library
- Devtodev - A full-cycle analytics solution for game developers.
- UnrealCLR - Unreal Engine .NET Core integration
- osu!framework - A 2D application/game written with amazing games in mind.
- DotRecast - A port of Recast & Detour, navigation mesh toolset for games, Unity3D, servers, C#
- Foster - Foster is a small cross-platform 2D game framework in C#.
- Wave Engine - Wave engine is a free C# component-based modern game engine which allows you to create cross-platform games supporting Kinect, Oculus Rift, Vuforia, Cardboard, Leap Motion and much more. **[Free][Proprietary]**
- Friflo.Engine.ECS - High-performance C# ECS with simple API. Supports .NET, WASM/WebAssembly, Native AOT, Unity, Godot, MonoGame, ...
- Friflo.Engine.ECS - High-performance C# ECS with simple API. Supports .NET, WASM/WebAssembly, Native AOT, Unity, Godot, MonoGame, ...
- Box2D.NET - A C# port of Box2D, a 2D physics engine for games, servers, and Unity3D
- Stride Game Engine - Stride Game Engine is a 2D/3D cross-platform game engine featuring a scene editor, particles, physically based rendering (PBR), scripting, and much more
-
GIS
- SharpMap - to-use mapping library for use in web and desktop applications
- OsmSharp - C# library to work with OpenStreetMap (OSM) data. Provides reading, writing and route-planning for OSM data.
- GeoJSON4EntityFramework - A library to create GeoJSON from Entity Framework Spatial Data or Well-Known Text (WKT) inputs.
- GeoJSON.NET - .Net library for GeoJSON types & corresponding Json.Net (de)serializers
- CoordinateSharp - Easily parse or convert coordinate formats and calculate location based solar/lunar information.
- DEM Net Elevation API - .Net library for Digital Elevation Models, allows 3D terrain generation in glTF / STL format.
- NetTopologySuite
- NetTopologySuite
-
Graphics
- Oxyplot - OxyPlot is a cross-platform plotting library for .NET
- Aspose.Drawing - Fully managed, cross-platform, complete 2D graphic library for drawing text, geometries, and images, with System.Drawing compatible API. **[$]**
- ScottPlot - A plotting library to interactively displays large datasets. Line plots, bar charts, pie graphs, scatter plots, and more. It supports WinForms, WPF, Avalonia, Console.
- Helix Toolkit - Helix Toolkit is a collection of 3D components for .NET
- LibTessDotNet - .NET port of the famous GLU Tessellator, triangulates polygons
- OpenTK - The Open Toolkit is an advanced, low-level C# library that wraps OpenGL, OpenCL and OpenAL
- NGraphics - NGraphics is a cross-platform library for rendering vector graphics on .NET
- LiveCharts2 - Simple, flexible, interactive & powerful charts, maps, and gauges for .Net. LiveCharts2 supports WPF, WinForms, Xamarin, Avalonia, WinUI, UWP.
- AssimpNet - A cross-platform .NET Standard wrapper for the Open Asset Importer ("Assimp"). The library enables importing, processing, and exporting of 3D models for rendering in graphics/game applications. Over 40 formats are supported for importing (e.g. OBJ, FBX, GLTF, 3DS, Collada) and a subset of those formats can be exported to (e.g. OBJ, GLTF, 3DS, Collada). Mesh processing features allow for mesh data to be generated or optimized for real-time rendering.
- RealTimeGraphX - RealTimeGraphX is a data type agnostic, high performance plotting library for WPF, UWP and soon, Xamarin Forms.
- VectSharp - .NET library to create vector graphics and text, and then export it to PDF, SVG and raster image formats.
- Oxyplot - OxyPlot is a cross-platform plotting library for .NET
- ScottPlot - A plotting library to interactively displays large datasets. Line plots, bar charts, pie graphs, scatter plots, and more. It supports WinForms, WPF, Avalonia, Console.
- Helix Toolkit - Helix Toolkit is a collection of 3D components for .NET
- Silk.NET - 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.
-
GUI
-
- ObjectListView - ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and teaches it some new tricks
- DockPanelSuite - The Visual Studio inspired docking library for .NET WinForms
- MaterialDesignInXamlToolkit - Toolkit for creating Material Design styled WPF apps
- Empty Keys UI - Multi-platform and multi-engine XAML based user interface library **[Free][Proprietary]**
- Bunifu UI Framework - Carefully crafted Winforms controls and components for creating stunning modern application UI. **[$]**
- Callisto - 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.
-
GUI - Themed Control Toolkits
- UWP Community Toolkit - 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.
- Bunifu UI Framework - Carefully crafted Winforms controls and components for creating stunning modern application UI. **[$]**
- MahApps.Metro - Toolkit for creating Metro-styled WPF apps
- HandyControl - Contains some simple and commonly used WPF controls
- Modern UI for WPF - MUI - Set of controls and styles to convert WPF applications into a great looking Modern UI apps.
- MaterialSkin - Theming .NET WinForms, C# or VB.Net, to Google's Material Design principles.
- AdonisUI - Lightweight UI toolkit for WPF applications offering classic but enhanced Windows visuals.
- MaterialDesignInXamlToolkit - Toolkit for creating Material Design styled WPF apps
-
GUI - Framework
- Qml.Net - A cross-platform Qml/.NET integration for Mono/.NET/.NET Core
- QtSharp - Mono/.NET Bindings for Qt
- Avalonia - A multi-platform .NET UI framework (formerly known as Perspex).
- Windows UI Library - The Windows UI Library (WinUI) provides official native Microsoft UI controls and features for Windows UWP apps.
- UNO Platform - The only platform for building native mobile, desktop and WebAssembly with C#, XAML from a single codebase. Open source and professionally supported. Website: [platform.uno](https://platform.uno/)
- Xamarin.Forms - Build native UIs for iOS, Android and Windows from a single, shared C# codebase.
- Eto.Forms - Cross-platform GUI framework for desktop and mobile applications in .NET and Mono
- Gtk# - Gtk# is a Mono/.NET binding to the cross platform Gtk+ GUI toolkit and the foundation of most GUI apps built with Mono
- SciterSharp - 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
- XWT - A cross-platform UI toolkit for creating desktop applications with .NET and Mono
- Lara - Lara Web Engine is a library for developing Web user interfaces in C# - (Blazor Server-Side Alternative)
- Neutronium - Build .NET desktop applications using HTML, CSS, javascript and MVVM bindings such as with WPF.
- photino.NET - Photino is a lightweight open-source framework for building native, cross-platform desktop applications with Web UI technology.
-
GUI - other
- ObjectListView - ObjectListView is a C# wrapper around a .NET ListView. It makes the ListView much easier to use and teaches it some new tricks
- WinApi - A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.
- AvalonEdit - The WPF-based text editor component used in SharpDevelop
-
-
Logging
-
- Log4Net - The Apache log4net library is a tool to help the programmer output log statements to a variety of output targets
- ELMAH - Official ELMAH site
- Loupe - Centralized .NET logging and monitoring. **[Proprietary]** **[Free Tier]**
- elmah.io - Cloud logging for .NET web applications using ELMAH. Find bugs before you go live. Powerful search, API, integration with Slack, GitHub, Visual Studio and more. **[[Free for OSS](https://elmah.io/sponsorship/opensource)]** **[$]**
- BugSnag - Logs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. **[Free for OSS][$]**
-
GUI - other
- NLog - NLog - Advanced .NET and Silverlight logging
- Logary - 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.
- Logazmic - Open source NLog viewer for Windows
- Elmah MVC - Elmah for MVC
- Rollbar.NET - 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]**
- Sentry - .NET SDK for [Sentry](https://sentry.io/welcome/) Open-source error tracking that helps developers monitor and fix crashes in real time..
- Serilog - A no-nonsense logging library for the NoSQL era. Combines the best of traditional and structured diagnostic logging in an easy-to-use package.
- StackExchange.Exceptional - Error handler used for the Stack Exchange network
- ULogViewer - 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 - 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.
- AutoLoggerMessage - A source generator that automatically migrates all logging calls to high-performant `LoggerMessage` version.
-
-
HTML and CSS
-
- HtmlAgilityPack - an agile HTML parser that builds a read/write DOM and supports plain XPath or XSLT
-
GUI - other
- AngleSharp - Complete HTML5 DOM and CSS3 OM construction
- dotless - .NET port of the Ruby Less CSS lib http://www.dotlesscss.org
- ExCSS - CSS3 parser library for C#
- LibSass Host - .NET wrapper around the [libSass](https://sass-lang.com/libsass) library with the ability to support a virtual file system
-
-
HTTP
-
- Flurl - Fluent, portable, testable REST/HTTP client library
-
GUI - other
- RestSharp - Simple REST and HTTP API client for .NET
- Refit - The automatic type-safe REST library for Xamarin and .NET
- WebApiClient
- Apizr
- Fluxzy.Core - 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.
- NotoriousClient - typed, extensible HTTP client with fluent request builder, streaming & multipart. Built on .NET's HttpRequestMessage.
-
-
IDE
-
- Visual Studio Express - The free lightweight version of Visual Studio for .NET programming.
- Visual Studio Community - A full-featured IDE
- Visual Studio Code - Excellent open source editor from Microsoft, based on Electron.
- Ionide - An Atom Editor and Visual Studio Code package suite for cross platform F# development.
- Rider - A cross-platform C# IDE based on the IntelliJ platform and ReSharper
- Consulo - A cross-platform IDE with C# & Java support, fork of IntelliJ IDEA Community Edition
-
GUI - other
- RoslynPad - A simple C# editor based on Roslyn and AvalonEdit.
- vvvv - programming environment for .NET **[Free for OSS]**
- Waf DotNetPad - A simple and fast code editor that makes fun program with C# or Visual Basic.
- CSharp Analyzer by MongoDB
-
-
Image Processing
-
- ImageResizer - Add commands to image URLs to get altered versions in milliseconds. Resizing, editing etc of images in real-time.
- DynamicImage - High-performance open-source image manipulation library for ASP.NET.
- Emgu CV - Cross-platform .NET wrapper for the OpenCV library.
- SimpleITK - A simplified path to Insight. Open-source multi-dimensional image analysis in Python, R, Java, C#, Lua, Ruby, TCL and C++. Developed by the Insight Toolkit community for the biomedical sciences and beyond.
- Imgix-CSharp - Easily update image urls to be fast and responsive. **[$]**
-
GUI - other
- OpenCvSharp - Cross platform wrapper of OpenCV for .NET Framework.
- ImageWizard - Image processing webservice based on ASP.NET Core and ImageSharp / SkiaSharp / SvgNet / DocNET
- ImageSharp - Fully managed cross-platform library for processing of image files.
- MagicScaler - High-performance image processing pipeline for .NET, focused on making complex imaging tasks simple.
- MetadataExtractor - Extracts Exif, IPTC, XMP, ICC and other metadata from image files.
- Emgu CV - Cross-platform .NET wrapper for the OpenCV library.
- Magick.NET - .NET wrapper for the ImageMagick library.
- PixelViewer - 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+).
- Colourful - Open source .NET library for working with color spaces.
- Unicolour - Colour conversion, interpolation, and comparison for .NET.
-
-
Install tools
-
- Wix Toolset - The most powerful set of tools available to create your Windows installation experience
- Wax - An interactive editor for WiX projects.
-
GUI - other
- Wix Toolset - The most powerful set of tools available to create your Windows installation experience
- Squirrel - Squirrel is both a set of tools and a library, to completely manage both installation and updating your desktop Windows application.
- Chocolatey - like `yum` or `apt-get`, but for Windows.
- Onova - An unopinionated auto-update framework for desktop applications.
-
-
IoC
-
- Microsoft.Extensions.DependencyInjection - The default IoC container for NET applications.
- Ninject - The ninja of .NET dependency injectors
-
GUI - other
- Autofac - An addictive .NET IoC container
- DryIoc - Simple, fast all fully featured IoC container.
- Lamar - A fast IoC container heavily optimized for usage within ASP.NET Core and other .NET server side applications.
- LightInject - A ultra lightweight IoC container
- Simple Injector - 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.
- Scrutor - Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
- VS MEF - Managed Extensibility Framework (MEF) implementation used by Visual Studio.
- Stashbox - A lightweight, portable dependency injection framework for .NET based solutions.
-
-
Machine Learning and Data Science
-
- Accord.NET - Machine learning framework combined with audio and image processing libraries (computer vision, computer audition, signal processing and statistics).
- AForge.NET - Framework for developers and researchers in the fields of Computer Vision and Artificial Intelligence (image processing, neural networks, genetic algorithms, machine learning, robotics).
- FsLab - A collection of data science and machine learning libraries for F# and .NET
-
GUI - other
- Infer.NET - A framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming.
- Catalyst - 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](https://scisharp.github.io/SciSharp/)
- GeneticSharp - 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.
- ML.NET - Cross-platform open-source machine learning framework which makes machine learning accessible to .NET developers.
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- SciSharp STACK - A rich machine learning ecosystem for .NET created by porting the most popular Python libraries to C#.
- OpenGA.Net - Genetic algorithm .NET library for solving optimization problems, featuring extensible operators and adaptive strategy selection.
-
-
Markdown Processors
-
- MarkdownSharp - Open source C# implementation of Markdown processor, as featured on Stack Overflow.
-
GUI - other
- markdig - A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET.
-
-
Mathematics
-
- MathNet - Math.NET is an open source initiative to build and maintain toolkits covering fundamental mathematics, targeting advanced but also every day needs of .NET developers
- ALGLIB - ALGLIB is a cross-platform numerical analysis and data processing library. It supports several programming languages (C++, C#, Delphi) and several operating systems (Windows and POSIX, including Linux) **[Proprietary]** and **[Free Edition]**
-
GUI - other
- MKL.NET - A simple cross platform .NET API for Intel MKL.
- WPF-Math - a .NET library for rendering mathematical formulae using the LaTeX typesetting style, for the WPF framework
- Jodo.Numerics - Provides extra number types (such as fixed-point and non-overflowing numbers) with full support for operators, math, string-parsing etc. Extensively tested, and cross-platform compatible.
- MathFlow - Comprehensive math expression library with symbolic computation support including differentiation, simplification, and equation solving.
- Microsoft Automatic Graph Layout - A set of tools for graph layout and viewing.
- GeometRi - Simple and lightweight computational geometry library for .Net
- Rationals - Implementation of rational number arithmetic for .NET with arbitrary precision.
- AngouriMath - 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.
- Jodo.Numerics - Provides extra number types (such as fixed-point and non-overflowing numbers) with full support for operators, math, string-parsing etc. Extensively tested, and cross-platform compatible.
-
-
Minification
-
- Microsoft Ajax Minifier - Contains JS and CSS minifiers which have a highest performance, because its have been specifically designed for .NET. Optionally produce Source Maps for JS code.
-
GUI - other
- 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.
- CompressedStaticFiles - 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
-
- CSharp Pad - A web-based C# REPL with awesome code completion.
- CSScript - CS-Script is a CLR based scripting system which uses C# as a programming language. CS-Script currently targets Microsoft implementation of CLR (.NET 2.0/3.0/3.5/4.0/4.5) with full support on Mono. Comes with many additional features, such as script hosting.
- LINQPad - a C#/VB/F# scratchpad that instantly executes any expression, statement block or program with rich output formatting and a wealth of features. Also lets you interactively query databases in LINQ. [$]
- MSBuild ILMerge task - MSBuild ILMerge task is a NuGet package allows you to use the famous ILMerge utility in automated builds and/or Visual Studio projects.
-
GUI - other
- LINQPad - a C#/VB/F# scratchpad that instantly executes any expression, statement block or program with rich output formatting and a wealth of features. Also lets you interactively query databases in LINQ. [$]
- RazorKit - 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.
- AzureCrawler - Take HTML Snapshots for your Angular, Ember, Durandal or any JavaScript applications
- CsvHelper - Library to help reading and writing CSV files https://github.com/JoshClose/CsvHelper
- RecordParser - Library to help reading and writing CSV and Flat files with zero heap allocation.
- Sep - 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.
- ConsoleTableExt - Fluent library to create table for .Net console application.
- FluentValidation - A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
- Validot - 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 - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
- Polly - 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).
- Aeron.NET - Efficient reliable UDP unicast, UDP multicast, and IPC message transport - .NET port of Aeron
- TypeShape - TypeShape is a small, extensible F# library for practical generic programming
- ByteSize - 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.
- Jot - a library for persisting and restoring application state (a better alternative to .settings files).
- Enums.NET - Enums.NET is a high-performance type-safe .NET enum utility library
- YoutubeExplode - Ultimate library for extracting metadata and downloading Youtube videos and playlists.
- DeviceId - Generate a 'device ID' that can be used to uniquely identify a computer.
- DeviceDetector.NET - 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.
- NaturalSort.Extension - Extension method for StringComparer that adds support for natural sorting (e.g. "abc1", "abc2", "abc10" instead of "abc1", "abc10", "abc2").
- Coravel - zero config .NET Core library that makes Task Scheduling, Caching, Queuing, Mailing, Event Broadcasting (and more) a breeze!
- Build Versioning - Simple build versioning for .NET, powered by Git tags
- SystemTextJson.JsonDiffPatch - High-performance, low-allocating JSON object diff and patch extension for System.Text.Json. Support generating patch document in RFC 6902 JSON Patch format.
- dotnet-exec - A command-line tool for executing C# program without a project file, and you can have your custom entry point other than Main method.
- ComputeSharp - A a .NET library to run C# code in parallel on the GPU through DX12, D2D1, and dynamically generated HLSL compute and pixel shaders.
- ILGPU - A JIT (just-in-time) compiler for high-performance GPU programs written in .Net-based languages.
- LINQPad.QueryPlanVisualizer - View SQL Server and Postgres query plans directly inside LINQPad.
-
-
MVVM
-
- Community Toolkit - Collection of control & helper libraries and samples for various .NET technologies. Contains modern MVVM library, supported by Microsoft. Includes [Windows Community Toolkit](https://github.com/CommunityToolkit/WindowsCommunityToolkit), [MAUI Community Toolkit](https://github.com/CommunityToolkit/Maui), and [Dotnet Community Toolkit](https://github.com/CommunityToolkit/dotnet).
- Catel - 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.
- UpdateControls - Update Controls does not require that you implement `INotifyPropertyChanged` or declare a `DependencyProperty`. It connects controls directly to CLR properties. This makes it perfect for the Model/View/ViewModel pattern.
- Okra App Framework - An app centric MVVM framework for Windows 8.1 built with dependency injection in mind, including a full set of Visual Studio MVVM templates.
-
GUI - other
- ReactiveUI - 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.
- Stylet - Minimal MVVM framework inspired by Caliburn Micro, with good documentation, high test coverage, and its own IoC container
- Caliburn.Micro - 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 - 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.
- Prism - A cross-platform desktop and mobile MVVM development framework.
- Win Application Framework (WAF) - 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.
- MVVMCross - 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.
- Toms Toolbox - Visual Composition framework to easily build modularized MVVM applications based on the [Managed Extensibility Framework (MEF)](https://docs.microsoft.com/en-us/dotnet/framework/mef/).
- MVVM Dialogs - Framework simplifying the concept of opening dialogs from a view model when using MVVM in WPF or UWP.
-
-
Office
-
- GemBox.Bundle - A package of .NET components that enable fast, simple and efficient processing of office files (Excel, Word, PowerPoint, PDF and emails). **[$]****[Free Lite versions]**
- Outlook Redemption - Library to work with the Outlook Object Model and (Extended) MAPI. Supports Outlook 98 - 2019. Work with objects/mails/accounts/folders in Exchange and Outlook. **[$]**
- Syncfusion .NET Word Framework - A high-performance .NET Word framework without Microsoft Office or interop dependencies. Create, read, and edit Word documents seamlessly. Utilize advanced editor components for easy viewing, editing, and printing. Effortlessly convert Word documents to PDF, HTML, RTF, ODT, and EPUB formats with powerful conversion APIs. **[$]** **[[Free for Individuals and Small Businesses](https://www.syncfusion.com/products/communitylicense)]**
- Syncfusion .NET Excel Framework - A high-performance .NET Excel framework without Microsoft Office or interop dependencies. Create, read, and edit Excel documents seamlessly. Utilize Spreadsheet controls for creating, editing, and viewing easily. Effortlessly convert Excel files to PDF, images, and more with powerful conversion APIs. **[$]** **[[Free for Individuals and Small Businesses](https://www.syncfusion.com/products/communitylicense)]**
- Syncfusion .NET PowerPoint Framework - A high-performance .NET PowerPoint framework without Microsoft Office or interop dependencies. Create, read, and edit PowerPoint files seamlessly. Effortlessly convert PowerPoint files to PDFs and images with powerful conversion APIs. **[$]** **[[Free for Individuals and Small Businesses](https://www.syncfusion.com/products/communitylicense)]**
-
GUI - other
- MiniExcel - A micro Excel helper avoids OOM and high performance to create/mapping/template-fill-data.
- ExcelDna - ExcelDna makes it easier to create and deploy Excel Add-Ins using C#, F# or VB .NET
- ClosedXML - ClosedXML makes it easier for developers to create Excel 2007/2010 files
- OfficeIMO - OfficeIMO makes it easier for developers to create/modify Word (docx) files without having Microsoft Word or Office installed
- NPOI - This project is the .NET version of POI Java project at https://poi.apache.org/.
- EPPlus - EPPlus is a .NET library that reads and writes Excel 2007/2010 files using the Open Office XML format (xlsx).
- DocX - 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.
- ExcelDataReader - Lightweight and fast library written in C# for reading Microsoft Excel files (2.0-2007).
- NetOffice - .NET wrapper assemblies for Microsoft Office applications.
- ShapeCrawler - A fluent API for the processing of PowerPoint presentations without Microsoft Office installed.
- MatchFlow - Web-based invoice reconciliation platform with OCR extraction and automated purchase order matching using ASP.NET Core and Azure Form Recognizer.
- Toxy - .NET text extraction framework supports a few file formats
-
-
ORM
-
- FreeSql - a convenient ORM in dotnet, supports MySql, SqlServer, PostgreSQL, Oracle, Sqlite, Firebird, 达梦, 人大金仓, 神舟通用, 翰高 and Access.
- NHibernate - NHibernate Object Relational Mapper
- LLBLGen Pro - Entity Modeling solution for Entity Framework, NHibernate, Linq to SQL and its own ORM framework: LLBLGen Pro Runtime Framework. **[$][Free Lite version]**
- Friflo.Json.Fliox - High performane ORM for Sqlite, MySql, SqlServer, PostgreSQL & NoSQL. Provides server with REST, GraphQL & WebSocket / PubSub API.
-
GUI - other
- Dapper.FastCRUD - The fastest micro-ORM extension for Dapper
- Entity Framework Core - Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
- EntityFramework.Exceptions - Use typed Exceptions for Entity Framework Core when your SQL query violates database constraints in SqlServer, MySql, PostgreSQL or SQLite
- EntityFrameworkCore.SqlServer.SimpleBulks - Simple library that can help to sync a large number of records in-memory into the database. Lambda Expression is supported.
- EFCore.BulkExtensions - Entity Framework Core Bulk Extensions for super fast (BulkCopy) CRUD ops + SaveChanges on multiple DBs: SQL, PG, My, Lite.
- Dapper - A simple object mapper for .NET by [StackExchange](https://stackexchange.github.io/)
- DapperQueryBuilder - Dapper Query Builder using String Interpolation and Fluent API
- SqlSugar - Another ORM library supports many RDBMS including MySql, SqlServer, Sqlite, Oracle, Postgresql - **NOTE**: This is not affiliated with Microsoft or .NET
- Fluent NHibernate - Fluent, XML-less, compile safe, automated, convention-based mappings for NHibernate.
- FluentMigrator - Fluent Migrations framework for .net
- ServiceStack.OrmLite - Light, simple and fast convention-based POCO ORM **[[Free for OSS](https://github.com/ServiceStack/ServiceStack/blob/master/license.txt)]** **[$]**
- LINQ to DB - The fastest LINQ database access library offering a simple, light, fast, and type-safe layer between your POCO objects and your database.
- PetaPoco - A tiny ORM-ish thing for your POCOs
- NPoco - Simple microORM that maps the results of a query onto a POCO object. Based on Schotime's branch of PetaPoco
- Insight.Database - Insight.Database is a fast, lightweight, micro-ORM for .NET
- RepoDb - A hybrid ORM library for .NET.
- MongoFramework - An "Entity Framework"-like interface for MongoDB
-
-
Package Management
-
- NuGet - The .NET package manager
- Cloudsmith - A fully managed package management SaaS, with support for NuGet, Npm, Docker and much more. **[Free for Public/OSS]** **[$]**
-
GUI - other
- Sleet - A NuGet v3 static feed generator with support for AWS S3 and Azure Storage
- Cloudsmith - A fully managed package management SaaS, with support for NuGet, Npm, Docker and much more. **[Free for Public/OSS]** **[$]**
- Paket - A package dependency manager for .NET with support for NuGet packages and GitHub repositories. https://fsprojects.github.io/Paket/
-
-
PDF
-
- Cloudmersive PDF - Cloudmersive PDF is a native .NET Framework and .NET Core NuGet library and API service that can create, modify, encrypt or convert PDF documents at high scale and fidelity; and is free to use with no expiration **[Free]**
- Docotic.Pdf - PDF library to create, read, edit, draw, and print PDF documents in .NET and .NET Core applications. 100% managed, without unsafe blocks. **[$]** **[[Free for OSS](https://bitmiracle.com/pdf-library/free-pdf-library.aspx)]**
- Pdfium.Net SDK - Advanced C# PDF library for render, create, edit, merge, split, print, and view PDFs. Open source PDF Viewer is available on [GitHub](https://github.com/patagames). A [NuGet package](https://www.nuget.org/packages/Pdfium.Net.SDK/) is also available for easy inclusion into your projects.**[$]**
- QuestPDF - QuestPDF is an open-source, modern and battle-tested library that can help you with generating PDF documents by offering friendly, discoverable and predictable C# fluent API.
- IronPDF - High-performance C# PDF library with compatibility for various .NET versions, HTML to PDF conversion, content page conversion, file format support (e.g., DOCX, RTF, MD), responsive layouts, and robust PDF capabilities features ranging from compability, generating PDFs, formatting PDFs, and editing PDFs. **[$]** **[Free trial available]**
- Syncfusion .NET PDF Framework - A high-performance .NET PDF framework with no Adobe dependencies. Create, read, and edit PDF files seamlessly. Utilize PDF viewer controls for easy viewing, reviewing, and printing. Effortlessly convert HTML, Word, Excel, PowerPoint files, and images to PDF with powerful conversion APIs. **[$]** **[[Free for Individuals and Small Businesses](https://www.syncfusion.com/products/communitylicense)]**
-
GUI - other
- QPdfSharp - 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 - iText is a PDF library that allows you to CREATE, ADAPT, INSPECT and MAINTAIN documents in the Portable Document Format (PDF)**[$]** **[Free for OSS]**
- PdfPig - Read and create and extract text and other content from PDFs in C# (port of PdfBox)
- Kevsoft.PDFtk - 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.
-
-
Protocols
-
- SharpSnmpLib - An open source SNMP implementation for .NET/Mono/Xamarin. Versioin 1, 2c, and 3 are supported.
-
GUI - other
- SSH.NET - A Secure Shell (SSH) library for .NET, optimized for parallelism. Provides SSH commands, SFTP/SCP uploads and downloads, and SOCKS4/SOCKS5/HTTP proxies.
- FluentFTP - An FTP and FTPS library for .NET, optimized for speed. Provides extensive FTP commands, file uploads/downloads and FTP proxies.
- DnsClient.NET - A simple yet very powerful and high performant open source library for the .NET Framework to do DNS lookups.
- Tecan SiLA2 SDK - A library and code generator to develop SiLA2 clients and servers.
-
-
Query Builders
-
- SqlKata - Elegant SQL query builder, that supports complex queries, joins, sub queries, nested where conditions, vendor engine targets and more
-
GUI - other
- InterpolatedSql - SQL Builder using String Interpolation and Fluent API
-
-
Queue
-
- Silverback - A simple but feature-rich message bus for .NET core (supports Kafka, RabbitMQ and MQTT).
- Cap.Outbox - Implementation of the Outbox pattern and OnceExecutor service that guarantees idempotence: the operation will be performed once
-
GUI - other
- CAP - An EventBus with local persistent message functionality for RabbitMQ or Kafka. - **NOTE**: This is not affiliated with Microsoft or .NET
- NServiceBus - The most popular service bus for .NET
- Hangfire - Incredibly easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET applications
- RabbitMQ.NET - Implementation of an AMQP client library for C#, and a binding exposing AMQP services via WCF
- NetMQ - NetMQ is 100% native C# port of ZeroMQ
- MassTransit - MassTransit is lean service bus implementation for building loosely coupled applications using the .NET Framework.
- Rebus - Rebus is a lean service bus implementation for .NET, similar in nature to NServiceBus and MassTransit, only leaner
- EasyNetQ - An easy to use .NET API for RabbitMQ
- Warewolf ESB - An easy to use service bus and microservices platform. Easily build applications and services in a visual IDE.
- Confluent's .NET Client - Confluent's .NET Client for Apache Kafka.
- Streamiz - a .NET Stream Processing Library for Apache Kafka.
- Brighter - Command Dispatcher, Processor, and Distributed Task Queue https://www.goparamore.io/
- SlimMessageBus - Lightweight message bus with transports for popular messaging systems (Kafka, Redis, Azure Service Bus, and others) and in-memory communication.
- AsyncMonolith - Facilitates simple asynchronous messaging in dotnet apps.
-
-
Scheduling
-
- Hangfire - An easy way to perform fire-and-forget, delayed and recurring tasks inside .NET apps
-
GUI - other
- NCrontab - Class library for parsing & formatting [crontab](http://crontab.org/) expressions as well as calculating occurrences of time based on a crontab schedule
- NCrontab.Scheduler - Simple task scheduler library for scheduling NCrontab-based tasks
- QuartzNet - Quartz Enterprise Scheduler .NET
- DurableTask - This framework allows users to write long running persistent workflows in C# using the async/await capabilities.
- Workflow Core - Lightweight embeddable workflow engine
- Occurify - A powerful and intuitive .NET library for defining, filtering, transforming, and scheduling instant and period timelines.
- TickerQ - Lightweight, high-performance, reflection-free job scheduler for .NET with EF Core, cron/time-based execution, custom locking, and retry support.
- NCronJob - A Job Scheduler sitting on top of IHostedService in dotnet.
- NaturalCron - readable scheduling library for .NET using natural-language expressions.
-
-
SDK and API Clients
-
- Cloudmersive APIs - An API client library for .NET **[Proprietary][Free]**
-
GUI - other
- Countly SDK for Windows - Windows SDK for Countly analytics and marketing platform for product and marketing managers
- AWS SDK - The AWS SDK for .NET enables .NET developers to easily work with Amazon Web Services
- Azure PowerShell - A set of PowerShell cmdlets for developers and administrators to develop, deploy and manage Microsoft Azure applications
- Octokit.NET - A GitHub API client library for .NET
- Dropbox.NET - Official .NET SDK for the Dropbox API
- Getty Images API SDK - SDK for the Getty Images and iStock APIs
-
-
Search
-
- Lucene.net - Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users
-
GUI - other
- Elasticsearch .NET - Elasticsearch.Net & NEST
- SolrNet - Solr client for .NET
- Lunr-Core - Lunr-core is a small, full text search library for use in small applications. It's a .NET port of LUNR.js.
- hOOt - Smallest full text search engine (lucene replacement). built from scratch using inverted Roaring bitmap index, highly compact storage, operating in database and document modes
- ZoneTree.FullTextSearch - 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.
-
-
Static Site Generators
-
- Wyam - A simple to use, highly modular, and extremely configurable static content generator
-
GUI - other
- Sandra.Snow - Jekyll-inspired static site generation for .NET
- AspNetStatic - Transform ASP.NET Core web app into a static site generator.
-
-
Style Guide
- C# Style Guide - StackOverflow Q & A on style guides
- C# Coding Conventions - Official MSDN C# code conventions
- C# Async Guidance - list of problematic asynchronous patterns for .NET Core with an explanation of how to solve those issues
-
Testing
-
- BDTest - A behaviour driven testing and reporting framework!
- NCrunch - An automated continuous & concurrent testing tool for Visual Studio. **[$]**
- NFluent - NFluent is an assertion library which aims to fluent your .NET TDD experience.
- NSubstitute - A friendly substitute for .NET mocking frameworks
- ReportPortal - AI-powered Test Automation Dashboard. Acquire, aggregate and analyze test reports to ascertain release health.
-
GUI - other
- ArchUnitNET - Simple library for checking the architecture of C# code with a fluent API.
- AutoFixture - AutoFixture is an open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests
- Bogus - A simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
- ExpressionToCode - Use plain C# syntax in assertions that include both the expression expression and subexpression values in the failure message.
- FakeItEasy - The easy mocking library for .NET https://fakeiteasy.github.io
- Fluent Assertions - 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]**
- FsCheck - Random Testing for .NET.
- Machine.Specifications - Machine.Specifications (MSpec) is a context/specification framework that removes language noise and simplifies tests.
- Moq - The most popular and friendly mocking framework for .NET
- NBomber - Very simple load testing framework for Pull and Push scenarios. It's 100% written in F# and targeting .NET Core and full .NET Framework.
- NFluent - NFluent is an assertion library which aims to fluent your .NET TDD experience.
- NUnit - A unit-testing framework for all .NET languages
- Testcontainers - A library to support tests with throwaway instances of Docker containers for all compatible .NET Standard versions.
- SecTester - SecTester is a new tool that integrates [Bright](https://brightsec.com/) enterprise-grade scan engine directly into your integration or e2e tests. **[Proprietary]** **[Free]**
- Shouldly - Shouldly is an assertion framework which focuses on giving great error messages when the assertion fails while being simple and terse.
- Snapshooter - A snapshot testing tool for .NET Core and .NET Framework
- Stryker.NET - Mutation testing for .NET Core projects
- xUnit.net - A free, open source, community-focused unit testing tool for the .NET Framework.
- Canopy - Canopy is a free, open source F# web automation and testing framework
- Expecto - A smooth testing framework for F# with tests as values. Unit testing, property based testing, performance testing and stress testing.
- Compare-Net-Objects - Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.
- Verify - Verification tool to enable simple approval of complex models and documents.
- CsCheck - Random testing library for C#. Including concurrency, causal profiling, regression and performance testing.
- NotoriousTest - 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
-
- Fiddler - The free web debugging proxy for any browser, system or platform
- CatLight - Build status notifications for TFS/Jenkins/Travis/Appveyor. Cross-platform desktop app based on .NET Core and Electron. **[Free][Proprietary]**
- AnyStatus - A desktop notifications app for monitoring CI/CD pipelines, servers, network, health and metrics. AnyStatus supports Azure DevOps, Jenkins, TeamCity, AppVeyor and more.
- JSON Formatter and Validator - A blazing fast JSON formatter and validator that won't share JSON with a server.
-
GUI - other
- YARP - YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET.
- Downloader - Fast and reliable multipart downloader with asynchronous progress events for .NET applications.
- Open Live Writer - Blog writer which integrated with WordPress, Blogger, et. al. Open Live Writer makes it easy to write, preview, and post to your blog.
- ShareX - 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.
- Opserver - Stack Exchange's Monitoring System
- Papercut - 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 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.
- NETworkManager - A powerful tool for managing networks and troubleshoot network problems!
- CSharpier - An opinionated code formatter for c# that is based on the [Prettier](https://github.com/prettier/prettier) printing process.
- UnitsNet - Makes life working with units of measurement just a little bit better.
- Another Redis Desktop Manager - 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.
- OctaneEngine - A high performance multipart downloader with many features such as pause/resume support, asynchronous progress, and throttling.
- FastCloner - Fast deep cloning library for .NET 8+. Zero-config, works out of the box.
- STranslate - STranslate is a ready-to-go translation ocr tool developed with WPF.
- BouncyHSM - A software simulator of HSM and smartcard simulator with HTML UI, REST API and PKCS#11 interface.
-
-
UI Automation
-
- Managed Windows API - Introspect and automate third-party Windows / VC++ applications without needing its source code.
-
GUI - other
- Atata - Automated web testing full featured framework based on Selenium WebDriver.
- FlaUI - FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...).
- PuppeteerSharp - Puppeteer Sharp is a .NET port of the official Node.JS Puppeteer API.
- PuppeteerSharp.Contrib - Contributions to Puppeteer Sharp that provides a convenient way to write readable and robust browser tests.
-
-
Visual Studio Plugins
-
- Nuget Package Manager - NuGet is the package manager for the Microsoft development platform including .NET
- Resharper - Developer Productivity Tool for Visual Studio **[$]**
- Productivity Power Tools - A set of extensions to Visual Studio Professional (and above) which improves developer productivity.
- Tabs Studio - Visual Studio tab manager with multiple tab rows, tab coloring and tab grouping. **[$]**
- VSColorOutput - Color highlighting for Build, Find and Debug output windows. Custom match patterns and colors can be added.
- CodeLineage - Easy access to a cumulative diff view between file revisions (supports svn, git, mercurial, perforce).
- OzCode - OzCode is a Visual Studio Extension which cuts down on debugging time and increases productivity by detecting and isolating bugs, making them easy to fix. **[$]**
- ViEmu - very powerful Vi/vim emulator for Visual Studio supporting all basic and many advanced features of vi/vim. **[$]**
- EFCore.Visualizer - View Entity Framework Core query plan directly in Visual Studio.
- SideWaffle - A collection of Item Templates for Visual Studio 2012/2013/2015 that makes any web developer's life much easier
-
GUI - other
- VsVIM - VIM in Visual Studio
- Roslynator - A collection of 500+ analyzers, refactorings and fixes for C#, powered by Roslyn
- SonarSource.sonarlint-visualstudio - 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 Frameworks
-
- ASP.NET MVC - ASP.NET is a free web framework for building great web sites and applications
- Coalesce - Coalesce is a framework for rapid-development of ASP.NET Core web applications.
- Suave.IO - Framework/library/web server that makes you cry tears of joy after finishing your project ahead-of-time when you look at the beautiful code you've written in F#.
-
GUI - other
- ASP.NET [Core - ASP.NET is a free web framework for building great web sites and applications
- Coalesce - Coalesce is a framework for rapid-development of ASP.NET Core web applications.
- CodeBehind Framework - Modern and powerful back-end framework under ASP.NET Core.
- DotVVM - 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.
- Giraffe - Functional (F#) ASP.NET Core micro framework for building rich web applications
-
-
WebSocket
-
- WebSocket4NET - WebSocket client for .NET 2.0+, Xamarin, Mono, Silverlight, Windows Phone, & WinRT
- Crossertech - Provides a great set of tools for you to build real-time applications on the Microsoft.NET plattform and much more. **[$]**
-
GUI - other
- SignalR - Library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications
- SuperSocket - SuperSocket is a light weight extensible socket application framework
- Websocket-Sharp - A C# implementation of the WebSocket protocol client and server
- Websocket.Client - A multiplatform wrapper over native C# class ClientWebSocket with built-in reconnection and error handling.
-
-
Source Generator
-
- Awesome .NET Core - A collection of awesome .NET core libraries, tools, frameworks and software
- awesome-ddd - A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources
- Awesome Unity - A categorized community-driven collection of high-quality awesome Unity assets, projects, and resources.
- Awesome Xamarin - A collection of interesting libraries/tools for Xamarin mobile projects.
- Awesome Roslyn - A curated list of awesome Roslyn books, tutorials, open source projects, analyzers, code fixes, and refactorings.
- .NET Open Source Developer Projects - This community maintained list showcases .NET open source projects that are useful for any aspect of the development process.
- Discover .NET - Awesome .NET open source and community resources.
- NuGet Trends - Check out NuGet packages adoption and what's trending on NuGet.
- Weekly C# Digest - Weekly email newsletter with manually curated top 5 links from the .NET community.
- ASP.NET Core Developer Roadmap - A complete guide to become a ASP.NET Developer.
-
GUI - other
- CodegenCS - Code Generation Toolkit where templates are written using plain C#. Command-line tool, MSBuild task, Visual Studio Extension, and Roslyn Source Generator.
- M31.FluentAPI - Effortlessly generate fluent APIs for your C# classes.
- Supernova.Enum.Generators - 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.
- Vogan - A value object generator with analizers.
- Dunet - A simple source generator for discriminated unions in C#.
- SyncMethodGenerator
- List of Automated Testing Tools and Frameworks for .NET - List of Automated Testing (TDD/BDD/ATDD/SBE) Tools and Frameworks for .NET
- .NET-libraries-that-make-your-life-easier - Open Source .NET libraries that make your life easier
- awesome-LINQ - A curated collection of awesome LINQ libraries, tools, and more.
- awesome-analyzers - A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes.
- ASP.NET Core Library and Framework Support - A list of what .NET libraries and frameworks are currently supported by ASP.NET Core and .NET Core).
- Awesome .NET Performance - A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors.
- .NET Open Source Developer Projects - This community maintained list showcases .NET open source projects that are useful for any aspect of the development process.
- dotnet-console-games - Game examples implemented in .NET console applications.
- extra-awesome-dotnet - Sorted lists of awesome .NET repositories, with counts of stars, issues, and forks!
- Discover .NET - Awesome .NET open source and community resources.
- Awesome Microservices .NET Core - A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core.
-
-
Web Servers
-
GUI - other
- SimpleW - Web server Library in .NET Core. Powerfully Simple, Blazingly Fast and Build-in components (API REST, JWT, Websockets, self-serialization, Opentelemetry).
- SimpleW - Web server Library in .NET Core. Powerfully Simple, Blazingly Fast and Build-in components (API REST, JWT, Websockets, self-serialization, Opentelemetry).
- EmbedIO - Web server built on Mono and cross-platform
- GenHTTP - A lightweight, embeddable web server for quickly creating REST APIs
-
-
Algorithms and Data structures
- Algorithmia - 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.
- C# Algorithms - A C# plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components.
- Towel - data structures, algorithms, mathematics, metadata, extensions, console, measurements, and other useful stuff
- Akade.IndexedSet - A convenient data structure supporting efficient in-memory indexing and querying, including range queries and fuzzy string matching.
- OneOf - OneOf provides discriminated unions for C# with exhaustive compile time matching.
-
Application Frameworks
- .NET Boxed Framework - .NET Core Extensions and Helper NuGet packages
- ASP.NET Boilerplate - A starting point for new modern ASP.NET MVC web applications with best practices and most popular tools.
- ABP - The next generation of the ASP.NET Boilerplate web application framework.
- Newbe.Claptrap - This is a set of server-side development frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can develop "distributed", "scale out", and "easy to test" application more simply.
- CoreFX - The corefx repo contains the library implementation (called "CoreFX") for .NET Core. It includes System.Collections, System.IO, System.Xml and many other components.
- CSLA .NET - business layer development framework https://cslanet.com/
- Mono - Open source ECMA CLI, C#, F#, VB and .NET implementation
- Mono-Addins - Mono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications
- peasy - 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 - Plastic provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application. For this, Command pattern is used.
- Signals - 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.
- Spring.Net - Spring.NET is an open source application framework that makes building enterprise .NET applications easier
- DotNetty - DotNetty is a port of Netty, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
- AspectCore Framework - 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.
- HopFramework - HopFramework is a framework to create projects easily applying Domain Driven Design and a lot of patterns to delivery a better solution.
- Fusion - .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](https://github.com/servicetitan/Stl.Fusion.Samples) [Samples 2](https://github.com/alexyakunin/BoardGames)
- silky - The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
- Positron-JS - An advanced Web View (PositronWebView) with native JavaScript Context to access .NET APIs from hybrid applications inspired from capacitor/cordova.
-
Application Templates
- .NET Boxed Templates - .NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
- ASP.NET Core Starter Kit - backend: .NET Core, EF Core, C#; frontend: Babel, Webpack, React, CSS Modules
- ProjectScaffold - 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.
- JHipster.NET - **NOTE**: This is not affiliated with Microsoft or .NET
- Side-Waffle - Large collection of useful templates for Web and Desktop development.
- Template10 - Windows 10 templates with design patterns.
- Nucleus - Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
- Serene - 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.
-
Assembly Manipulation
- Fody - Extensible tool for weaving .NET assemblies.
- ILRepack - Open-source alternative to ILMerge.
- Mono.Cecil - Cecil is a library to generate and inspect programs and libraries in the ECMA CIL form.
-
Assets
- Cassette - Manages .NET web application assets (scripts, css and templates)
- NodeAssets - Asset Manager for .NET that has live CSS updates using SignalR and can optionally leverage Node.js compilers
- Bundle Transformer - Modular extension for [Microsoft ASP.NET Web Optimization Framework](https://www.nuget.org/packages/Microsoft.AspNet.Web.Optimization). Its modules supports LESS, Sass, CoffeeScript, TypeScript, Mustache, Handlebars, Autoprefixer along with a bunch of different JS and CSS minifiers.
- Bundler - Compile & Minify Less/Sass/Stylus/Css/JS/CoffeeScript/LiveScript files. Integrates with MVC and ServiceStack
- SquishIt - Lets you *easily* bundle some CSS and JavaScript
-
Build Automation
- FlubuCore - 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
- Psake - .NET-based build automation tool written in PowerShell
- Invoke-Build - PowerShell build and test automation tool inspired by Psake.
- MSBuild - The Microsoft Build Engine (MSBuild) is the build platform for .NET and Visual Studio
- Cake - Cake (C# Make) is a cross-platform build automation system with a C# DSL.
- Nake - Magic script-based C# task runner
- Nuke - Cross-platform build automation system
- ModularPipelines - Write your pipelines in C#
- FAKE - F# Make, a cross-platform build automation system
-
Blazor
- ant-design-blazor - A set of enterprise-class UI components based on Ant Design and Blazor WebAssembly.
- Megabit.Blazorise - Blazorise is a component library built on top of Blazor and CSS frameworks like Bootstrap, Bulma and Material. Very easy to use.
- blazork8s - k8s management ui in blazor and .NET Core.
- MudBlazor - A Material Design framework for Blazor, allowing .NET developers to quickly build web apps, with extensive documentation and examples.
- BootstrapBlazor - A set of enterprise-class UI components based on Bootstrap and Blazor. - **NOTE**: This is not affiliated with Microsoft or .NET
- MASA.Blazor - A set of enterprise-class UI components based on Material Design and Blazor WebAssembly.
-
Blockchain
- Nethermind - full Ethereum client in .NET Core
-
Chat
-
Caching
- CacheCow - An ASP.NET Web API HTTP caching implementation both on client and server
- CacheManager - A common interface and abstraction layer for caching.
- FastCache - 10X faster alternative to `MemoryCache` for .NET
- Cashew - a .NET library for caching responses easily with an `HttpClient` through an API that is simple and elegant yet powerful.
- Cache Tower - An efficient multi-layered caching system for .NET (In-Memory, Redis, Database, File etc)
- EasyCaching - 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
- LazyCache - A simple, developer friendly, in-memory thread-safe caching service. It leverages Microsoft.Extensions.Caching and Lazy to provide performance and reliability in heavy load scenarios.
- Akavache - An asynchronous, persistent key-value store
- BitFaster.Caching - Thread-safe in-memory caches optimized for very high concurrent throughput, near optimal hit rate and low latency.
-
Compilers, Transpilers and Languages
- Mond - A dynamically typed scripting language written in C# with a REPL, debugger, and simple embedding API
- IronScheme - R6RS Scheme compiler, runtime and many standard libraries
- JSIL - CIL to JavaScript Compiler http://jsil.org/
- Iron python - A python 2 implementation that is integrated with the dot net framework.
- Nemerle - 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.
- Mono-basic - Visual Basic Compiler and Runtime
- Lib.Harmony - A library for patching, replacing, and decorating .NET and Mono methods during runtime, mainly used for game modding.
- Netjs - .NET to TypeScript and JavaScript compiler. Portable Class Libraries work great for this. You can even pass EXEs.
- P - P is a language for asynchronous event-driven programming.
- PeachPie - 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.
- Roslyn - 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.
- Testura.Code - Wrapper around the Roslyn API and used for generation, saving and compiling C# code. It provides methods and helpers to generate classes, methods, statements and expressions.
- ClojureCLR - A port of Clojure to the CLR in C#
- LinqOptimizer - An automatic query optimizer-compiler for Sequential and Parallel LINQ
- Roslyn-linq-rewrite - Compiles C# code by first rewriting the syntax trees of LINQ expressions using plain procedural code, minimizing allocations and dynamic dispatch.
- FSharp - The F# compiler and tools
- IKVM - A Java Virtual Machine and Bytecode-to-IL Converter for .NET. Execute compiled Java code (bytecode) on .NET Framework or .NET Core.
- Iron Python - A Python 3 implementation that is integrated with the .NET framework.
- dotnet-repl - A polyglot REPL built on .NET Interactive
- ClojureCLR Next - Rewrite of Clojure CLR in F#
- Fable - F# to JavaScript, TypeScript, JSX, Python, Dart, and Rust transpiler
- Eiffel - Eiffel for .NET is the Eiffel programming language made available in the .NET environment.
- Rust - Experimental Rust compiler for .NET.
- Wrapped Mono - Mono runtime embedded in Rust.
- Hybridizer - CIL (C#, VB.Net, F#, ClojureCLR, ...) to CUDA compiler. **[$]**
- Lua-C# - A Lua implementation on .NET in C#
- PascalABC.NET
- F# - The F# programming language empowers everyone to write succinct, robust, and performant code
- IKVM - A Java Virtual Machine and Bytecode-to-IL converter for .NET. Execute compiled Java code (bytecode) on .NET
-
Cloud Storage
- FluentStorage - 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).
- Stowage - Bloat-free zero dependency .NET cloud storage kit that supports at minimum THE major cloud providers.
- Cloud Storage - 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.
- Foundatio - Cloud Storage library with AWS, Azure and many other providers supported.
-
Database
- SliccDB - Lightweight Embedded (In-Memory) Graph Database for .net
- RocksDB - C# binding for Facebook's RocksDB Key-Value store + native builds for Windows, macOS and Linux
- BrightstarDb - BrightstarDB is a native .NET RDF triple store
- DBreeze - DBreeze Database is an open-source embedded Key-Value store
- Event Store - The open-source, functional database with Complex Event Processing in JavaScript
- RavenDB - A LINQ-enabled document database for .NET
- Marten - PostgreSQL as a document database and event store for .NET applications
- Realm Xamarin - A fast, easy-to-use alternative to SQLite & ORMs - https://realm.io/docs/dotnet/latest/
- Streamstone - Event store for Azure Table Storage
- Ignite - Distributed in-memory platform: document database with SQL and LINQ support; distributed computations; distributed services and events.
- Yessql - A .NET document database working on any RDBMS
- JsonFlatFileDataStore - Simple JSON flat file data store with support for typed and dynamic data
- Db4o-gpl - Object-oriented database, embedded and remote connections supported.
- ZoneTree - Persistent, high-performance, transactional, and ACID-compliant ordered key-value database for .NET.
- LiteDB - A .NET NoSQL Document Store in a single data file - https://www.litedb.org
-
Datetime
- NodaTime - 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/
- DateTimeExtensions - Common Date Time operations on the form of extensions to `System.DateTime`, including holidays and working days calculations on several culture locales.
- Exceptionless.DateTimeExtensions - DateTimeRange, Business Day and various `DateTime`, `DateTimeOffset`, `TimeSpan` extension methods.
-
Deployment
- Unfold - PowerShell-based deployment solution for .NET web applications
- 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
- Octo Pack - Used to build NuGet packages of your application for deployment using tools such as Octopus Deploy
- yuniql - Free and open source schema versioning and migration tool made with .NET Core. Run migrations with plain SQL, arrange versions in ordinary folders and seed your data from CSV via stand-alone CLI (no CLR needed), Azure Pipelines, Docker or ASP.NET Core code. https://yuniql.io
-
DirectX
- Vortice.Windows - Cross platform .NET standard libraries for DirectX, WIC, Direct2D1, XInput, XAudio and X3DAudio
-
DLR
- cmd - C# library to run external programs in a simpler way. Demonstration of "dynamic" features of C#.
-
Documentation
- Sandcastle - Sandcastle Help File Builder similar to NDoc
- SourceBrowser - Source browser website generator that powers https://referencesource.microsoft.com
- Swashbuckle - Seamlessly adds a Swagger to Web API projects.
- F# Formatting - Tools for documenting F# and C# projects from F# script files, Markdown documents and inline XML or Markdown comments
- DocFX - Tools for building and publishing API documentation for .NET projects
- DocNet - Your friendly static documentation generator, using markdown files to build the content.
- HubDocs - 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 - nopCommerce. Free open-source e-commerce shopping cart (ASP.NET Core)
- ServiceStack.Stripe - Typed .NET clients for stripe.com REST APIs
- SmartStoreNET - Free ASP.NET Core MVC e-commerce Shopping Cart Solution
- Stripe.Net - Stripe.net is a full service .NET API for https://stripe.com/
- Virto Commerce - 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
- SimplCommerce - 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
- GrandNode - Headless, multi-vendor, multi-tenant, the most advanced open source e-commerce platform based on .NET Core 5.0 and MongoDB.
- Adyen - The official Adyen Payment API Library for .NET
- ServiceStack.Stripe - Typed .NET clients for stripe.com REST APIs
-
Emulators
-
Environment Management
- Dotnet CLI - The cross-platform .NET Core command-line toolchain utility.
- Dotnet CLI - The cross-platform .NET Core command-line toolchain utility.
-
Exceptions
- Exceptionless - Exceptionless .NET Client
-
Functional programming
- Curryfy - Provides strongly typed extensions methods for C# delegates to take advantages of functional programming techniques, like currying and partial application.
- language-ext - 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.
- Optional - A robust option type for C#
- Optuple - .NET Standard Library for giving `(bool, T)` Option-like semantics in a non-obtrusive way; this is, there is no new option type dependency for a library or its users.
- MoreLinq - Provides extra methods to LINQ to Objects.
-
Git Tools
- Husky.Net - 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)
- Bonobo Git Server - Bonobo Git Server for Windows is a web application you can install on your IIS and easily manage and connect to your Git repositories. https://bonobogitserver.com/
- GitExtensions - GitExtensions is a shell extension, a Visual Studio 2008/2010/2012/2013 plugin and a standalone Git repository tool. https://gitextensions.github.io/
- GitLink - let's users step through their code hosted on GitHub or BitBucket
- GitVersion - Generate a Semantic Version Number based on the state of your Git repository
- LibGit2Sharp - LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .NET and Mono.
- GitRead.Net - GitRead.Net is a .NET Standard library which allows you to very easily interrogate a Git repository that you have on disk. It allows you to enumerate the commit log, count lines per file and list files changed by a commit.
- NGit - NGit is a port of JGit to C#
- posh-git - A PowerShell environment for Git
- RepoZ - A Git repository information aggregator with Windows Explorer & CLI-enhancements
- Git Credential Manager for Windows - Helps solving issues of credentials, made by Microsoft
- Git Credential Manager - Helps solving issues of credentials
-
GraphQL
- GraphQL.NET - Implementation of [Facebook's GraphQL](https://github.com/graphql/graphql-spec) in .Net
- graphql-net - GraphQL to IQueryable for .NET.
- EntityGraphQL - 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).
- ZeroQL - 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.
- HotChocolate - GraphQL server compatible to all GraphQL compliant clients like Strawberry Shake, Relay, Apollo Client, and various other clients and tools.
-
Feature management
- Microsoft.FeatureManagement - This library provides a way to develop and expose application functionality based on feature flags. It enables scenarios like new feature rollouts and A/B testing for experimentation purposes. It also provides integration with common .NET coding patterns and ASP.NET Core.
- OpenFeature - OpenFeature is an open standard for feature flag management designed to provide a unified API and SDK, enabling developers to decouple feature flag evaluation from vendor-specific implementations. It promotes interoperability, flexibility, and standardization for managing feature flags across different tools and platforms.
-
Background Processing
- BusyBee - Fast, in-memory background job processing for .NET apps with configurable queues, timeouts, parallelism, and built-in OpenTelemetry support.
-
Configuration
- AgileConfig - AgileConfig is a lightweight configuration center that helps you manage all your application's configurations through website. - **NOTE**: This is not affiliated with Microsoft or .NET
-
Desktop
- Sucrose Wallpaper Engine - Sucrose is a versatile wallpaper engine that brings life to your desktop with a wide range of interactive wallpapers.
-
Calendar
-
CLR
- Runtime - Mono and CoreCLR .NET runtimes, as well as the standard library and some higher level components like `System.Linq` and `System.Text.Json`.
-
Web Browsers
-
GUI - other
- CefSharp - HTML5, CSS3 and JS web browser powered by Chromium, for WinForms and WPF
- SharpBrowser - A full featured .NET web-browser built using C# and CefSharp
-
-
WPF
-
GUI - other
- Data Grid Extensions - Modular extensions for the WPF DataGrid control, like filtering, additional column events, extended star-size column behavior, and more...
- DeftSharp.Windows.Input - Listen Global keyboard / mouse events. simple to use. for Windows UI applications (WPF, MAUI, Avalonia)
- Extended WPF Toolkit™ - A rich collection of controls, components and utilities for creating WPF applications
- WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
-
-
Interactive programming
-
GUI - other
- .NET Interactive - .NET Interactive takes the power of .NET and embeds it into your interactive experiences.
-
-
Internationalization
-
GUI - other
- MessageFormat.NET - ICU MessageFormat implementation in .NET lets you write contextual UI messages (PCL library)
- ResX Resource Manager - The most popular free tool to localize all kind of applications with resx-based resources.
-
-
Interoperability
-
JavaScript Engines
-
GUI - other
- ClearScript - A library that makes it easy to add scripting to your .NET applications. It currently supports JavaScript (via V8 and JScript) and VBScript.
- Edge.js - Run .NET and Node.js code in-process on Windows, macOS, and Linux
- Jint - JavaScript interpreter for .NET which provides full ECMA 5.1 compliance and can run on any .NET platform.
- Jurassic - A implementation of the ECMAScript language and runtime. It aims to provide the best performing and most standards-compliant implementation of JavaScript for .NET.
- YantraJS - 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.
-
-
Mail
-
GUI - other
- MailKit - A complete cross-platform mail stack including IMAP, POP3, SMTP, authentication and more. Built on top of MimeKit.
- MailKitSimplified - A fully-featured fluent wrapper for MailKit that makes sending _and receiving_ emails as simple as possible.
- MimeKit - A cross-platform .NET MIME creation and parser library with support for S/MIME, PGP, TNEF and Unix mbox spools.
- PreMailer.Net - C# library that moves your stylesheets to inline style attributes, for maximum compatibility with e-mail clients.
- 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.
-
-
Media
-
GUI - other
- CSCore - An advanced audio library, supporting playback/recording, decoding/encoding and processing of audio data in realtime (effects, visualizations, ...).
- TagLib# - TagLib# (aka taglib-sharp) is a library for reading and writing
- LibVLCSharp - Xamarin bindings for libvlc, the multimedia framework powering the VLC applications made by VideoLAN.
- NAudio - Playback, decode and encode audio in a variety of file formats such as MP3, MP4, WAV, AIFF, Speex, etc.
- 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. **[$]**
- Sonora - .NET Audio Framework for audio and MIDI playback, editing, and plugin integration.
-
-
MQTT
-
Networking
-
GUI - other
- NetCoreServer - 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).
- SharpPcap - Fully managed, cross platform (Windows, Mac, Linux) .NET library for capturing packets from live and file based devices.
-
-
Object to object mapping
-
GUI - other
- AutoMapper - A convention-based object-object mapper in .NET. https://automapper.org
- Mapperly - A .NET source generator for generating object mappings. No runtime reflection.
- Mapster - A high performance object mapper in .net
-
-
Profiler
-
GUI - other
- MiniProfiler - A simple but effective mini-profiler for ASP.NET websites
-
-
RPC
-
GUI - other
- gRPC - us/aspnet/core/grpc)
- gRPCurl - gRPCurl is a command-line tool that lets you interact with gRPC servers. It's basically curl for gRPC servers.
- gRPC UI - 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
-
GUI - other
- Rx.NET - The Reactive Extensions (Rx) is a library for composing asynchronous and event-based programs using observable sequences and LINQ-style query operators
- Dynamic Data - Reactive Extensions (Rx) for collections
-
-
Serialization
-
GUI - other
- CsvExport - Very simple & lightweight CSV exporter, Excel friendly, escapes text & quotes etc.
- Protobuf.NET - Protocol buffers is the name of the binary serialization format used by Google for much of their data communications
- Json.NET - Popular high-performance JSON framework for .NET
- Msgpack-Cli - MessagePack implementation for Common Language Infrastructure
- FlatSharp - Fast, idiomatic FlatBuffers implementation. Use .fbs files or attributes.
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- Hyperion - A high performance polymorphic serializer for the .NET framework.
- Migrant - Fast and flexible serialization framework usable on undecorated classes.
- ObjectDumper.NET - Serializes in-memory object to C# code.
- FluentSerializer - A profile-based Serializer for multiple data-formats.
-
-
SMS and Phone calls
-
GUI - other
- Twilio-csharp - A C#/.NET Library for sending and receiving phone calls and text messages with Twilio.
-
-
State machines
-
GUI - other
- Stateless - Create state machines and lightweight state machine-based workflows directly in .NET code
-
-
Strong Naming
-
GUI - other
- .NET Assembly Strong-Name Signer - Utility software to strong-name sign .NET assemblies, including assemblies you do not have the source code for.
-
-
Template Engine
-
GUI - other
- RazorLight - Open source template engine based on Microsoft's Razor parsing engine supporting .NET Standard 2.0
- DotLiquid - C# port of the Ruby Liquid templating language
- Morestachio - A full sized {{mustache}} like template engine with focus on extendibility.
- Fluid - Fluid is an open-source .NET template engine based on the Liquid template language.
- SmartFormat - A lightweight text templating library written in C# which can be a drop-in replacement for string.Format
- Handlebars.Net - A real .NET Handlebars engine
-
-
Trading
-
GUI - other
- Lean - Lean Engine is an open-source fully managed C# algorithmic trading engine built for desktop and cloud usage. https://www.quantconnect.com/lean/
- StockSharp - Trading and algorithmic trading open source platform (stock markets, forex, bitcoins and options). https://stocksharp.com
-
-
Windows Services
-
GUI - other
- Servy - A tool to turn any app into a native Windows service with powerful configuration and management options (a modern alternative to NSSM and WinSW).
-
-
Parser Library
-
GUI - other
- Silverfly - A pratt parser library.
- Pidgin - A lightweight, fast and flexible parsing library for C#, developed at Stack Overflow
- Superpower - A C# parser construction toolkit with high-quality error reporting
- CSLY - A light embedded C# lexer/parser generator.
- Parakeet - A recursive descent parsing library with operator overloading for C#.
-
Programming Languages
Categories
Misc
31
GUI
30
Compilers, Transpilers and Languages
29
Testing
29
Source Generator
27
CLI
21
ORM
21
Game
19
Tools
19
Application Frameworks
18
Office
17
Logging
16
Queue
16
API
16
Image Processing
15
Authentication and Authorization
15
Graphics
15
Database
15
Code Analysis and Metrics
15
MVVM
13
Visual Studio Plugins
13
Git Tools
12
CMS
11
Mathematics
11
IDE
10
IoC
10
Serialization
10
Machine Learning and Data Science
10
PDF
10
Scheduling
10
Database Drivers
10
E-Commerce and Payments
9
Build Automation
9
Caching
9
Cryptography
9
Application Templates
8
Distributed Computing
8
Event aggregator and messenger
8
Web Frameworks
8
GIS
8
HTTP
7
Documentation
7
SDK and API Clients
7
Blazor
6
Search
6
Media
6
WebSocket
6
Compression
6
Install tools
6
Template Engine
6
Algorithms and Data structures
5
Assets
5
JavaScript Engines
5
Package Management
5
Protocols
5
GraphQL
5
Functional programming
5
Parser Library
5
HTML and CSS
5
Artificial Intelligence
5
Mail
5
UI Automation
5
WPF
4
Interoperability
4
Web Servers
4
Decompilation
4
Deployment
4
Cloud Storage
4
Object to object mapping
3
Code Snippets
3
Static Site Generators
3
RPC
3
Style Guide
3
ETL
3
Assembly Manipulation
3
Minification
3
Continuous Integration
3
Datetime
3
Feature management
2
Web Browsers
2
Extensions
2
Environment Management
2
Networking
2
Business Intelligence
2
Trading
2
Markdown Processors
2
Query Builders
2
Reactive Programming
2
Emulators
2
Internationalization
2
MQTT
2
Calendar
1
Profiler
1
Configuration
1
CLR
1
Chat
1
Blockchain
1
Windows Services
1
Exceptions
1
Strong Naming
1
SMS and Phone calls
1
Background Processing
1
DirectX
1
Desktop
1
State machines
1
DLR
1
Interactive programming
1
Sub Categories
Keywords
dotnet
184
csharp
115
c-sharp
103
dotnet-core
78
wpf
24
dotnetcore
24
asp-net-core
21
nuget
20
netcore
18
xamarin
17
database
17
framework
16
netstandard
16
aspnetcore
15
windows
14
testing
14
mono
13
asp-net
13
parser
13
cross-platform
13
fsharp
13
visual-studio
12
blazor
12
library
12
uwp
12
dotnet-standard
12
xaml
11
mvvm
11
json
11
cache
10
game-development
10
aspnet
9
orm
9
microsoft
9
command-line
9
performance
9
git
9
graphql
9
powershell
8
xml
8
cms
8
http
8
roslyn
8
unity
7
unit-testing
7
azure
7
client
7
winforms
7
event-sourcing
7
game-engine
7