An open API service indexing awesome lists of open source software.

awsome-dotnet

About A collection of awesome .NET libraries, tools, frameworks and software
https://github.com/stackdev19/awsome-dotnet

Last synced: 4 days ago
JSON representation

  • Build Automation

    • 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
    • FlubuCore - A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
    • FAKE - F# Make, a cross-platform build automation system
  • 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.
  • Caching

    • CacheCow - An ASP.NET Web API HTTP caching implementation both on client and server
    • Akavache - An asynchronous, persistent key-value store
    • EasyCaching - A caching library that contains basic and some advanced usages of caching which can help handle caching more easier!
    • CacheManager - A common interface and abstraction layer for caching.
    • 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)
    • FusionCache - An easy to use, high performance and robust cache with an optional distributed 2nd layer and some advanced features, like a fail-safe mechanism and advanced timeouts management
  • Calendar

  • 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.
  • 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`.
  • 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) ![GitHub stars](https://img.shields.io/github/last-commit/Squidex/squidex?style=flat-square&cacheSeconds=86400) - Open source headless CMS and content management hub. https://squidex.io
    • BlogEngine.NET - Simple but full featured ASP.NET blog
    • 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
  • Code Analysis and Metrics

    • StyleCop - StyleCop analyzes C# source code to enforce a set of style and consistency rules
    • 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.
  • Code Snippets

    • .NET Fiddle - Write, compile and run C#, F# and VB code in the browser. The .Net equivalent of JSFiddle.
    • Gistlyn - Create, run and share your executable C# GitHub Gists.
    • Sharplab - Run C# code using different branches and versions of Roslyn, see the IL that was produced and examine the JIT's output.
  • Compilers, Transpilers and Languages

    • Hybridizer - CIL (C#, VB.Net, F#) to CUDA compiler. **[$]**
    • ClojureCLR - A port of Clojure to the CLR, part of the Clojure project
    • IronScheme - R6RS Scheme compiler, runtime and many standard libraries
    • JSIL - CIL to JavaScript Compiler http://jsil.org/
    • Mond - A dynamically typed scripting language written in C# with a REPL, debugger, and simple embedding API.
    • Mono-basic - Visual Basic Compiler and Runtime
    • 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.
    • 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.
    • VisualFSharp - The Visual F# compiler and tools
    • Fable - F# to JavaScript Compiler
    • 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.
    • Iron python - A python 2 implementation that is integrated with the dot net framework.
    • F# - The F# compiler, core library and tools - a functional programming language for safer, faster, better code writing.
    • Amplifier.NET - Write and compile your own kernel function using C# and Amplifier will take care of running it on your favorite hardware. Amplifier allows .NET developers to easily run complex applications with intensive mathematical computation on Intel CPU/GPU, NVIDIA, AMD without writing any additional C kernel code.
  • 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#.
  • Continuous Integration

    • TeamCity - Ready to work, extensible and developer-friendly build server — out of the box **[$]**
    • MyGet - Continuous Integration and Deployment, Hosted Package Repository for NuGet, NPM, Bower and VSIX **[$]**
    • AppVeyor - .NET Continuous Integration and Deployment as a service. **[$]** **[Free for OSS]**
  • Cryptography

    • 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#.
    • CryptoNet - .NET simple crypto library. Native c#.
    • BouncyCastle - Together with the .Net System.Security.Cryptography, the reference implementation for cryptographic algorithms on the CLR.
    • HashLib - HashLib is a collection of nearly all hash algorithms you've ever seen, it supports almost everything and is very easy to use
  • Database

    • 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.
    • LiteDB - A .NET NoSQL Document Store in a single data file - https://www.litedb.org
    • StringDB - StringDB is a modular, key/value pair archival DB designed to consume tiny amounts of ram & produce tiny databases.
  • 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
    • 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
    • Storage.Net - Generic storage abstractions and implementations for popular cloud storage providers like Amazon S3, Azure Service Bus, Azure Event Hub, Azure Storage, Azure Data Lake Store and many others.
    • Stowage - Bloat-free zero dependency .NET cloud storage kit that supports at minimum THE major cloud providers.
    • RethinkDb.Driver - A RethinkDB database driver in C# striving for 100% ReQL API compatibility and completeness.
  • 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.
  • 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]**
    • dnSpy - open-source .NET assembly browser, editor, decompiler and debugger
    • JustDecompile Engine - The decompilation engine of [JustDecompile](https://www.telerik.com/products/decompiler.aspx)
  • 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
  • Distributed Computing

    • MBrace - Integrated Data Scripting for the Cloud
    • Foundatio - Pluggable foundation blocks for building distributed apps.
    • .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.
    • protoactor-dotnet - Proto Actor - Ultra fast distributed actors for Golang and C#
  • 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.
  • 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 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.
    • Square - The official SDK for Square payments and other Square APIs.
    • Adyen - The official Adyen Payment API Library for .NET
    • Paypal Merchant SDK - Official PayPal Merchant SDK for .NET
  • Environment Management

    • Dotnet CLI - The cross-platform .NET Core command-line toolchain utility.
  • ETL

    • Cinchoo ETL - ETL Framework for .NET (Read / Write CSV, Flat, Xml, JSON, Key-Value formatted files)
    • Reactive ETL - Reactive ETL is a rewrite of Rhino ETL using the reactive extensions for .NET
  • 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
  • Exceptions

  • Extensions

  • 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.
  • 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
    • UnrealCLR - Unreal Engine .NET Core integration
    • osu!framework - A 2D application/game written with amazing games in mind.
    • OpenRA - A Libre/Free Real Time Strategy game engine supporting early Westwood classics.
    • 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]**
    • 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.
    • NetTopologySuite
    • 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
  • 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
Categories
Application Frameworks 75 Books 74 Misc 39 GUI 34 Testing 32 ORM 24 Tools 21 CLI 21 Compilers, Transpilers and Languages 19 Serialization 17 Visual Studio Plugins 16 Logging 16 MVVM 16 Machine Learning and Data Science 16 Queue 15 Source Generator 15 Image Processing 15 API 14 Game 14 IoC 13 Database 13 Office 12 Git Tools 11 Mathematics 11 Graphics 11 Database Drivers 11 E-Commerce and Payments 10 WebSocket 10 IDE 10 HTTP 9 PDF 9 CMS 9 Code Analysis and Metrics 9 Cryptography 9 Scheduling 8 GIS 8 Build Automation 8 Authentication and Authorization 8 Distributed Computing 8 Interoperability 8 Application Templates 8 Caching 7 Web Frameworks 7 SDK and API Clients 7 Media 6 Event aggregator and messenger 6 Documentation 6 Protocols 6 HTML and CSS 6 Template Engine 6 Assets 5 Mail 5 Install tools 5 Compression 5 RPC 5 JavaScript Engines 5 Functional programming 5 Object to object mapping 5 UI Automation 5 Parser Library 5 Search 5 Static Site Generators 4 Package Management 4 Deployment 4 Blazor 4 Decompilation 4 Datetime 3 Assembly Manipulation 3 Minification 3 State machines 3 Reactive Programming 3 Markdown Processors 3 Profiler 3 Code Snippets 3 Internationalization 3 Algorithms and Data structures 3 WPF 3 Continuous Integration 3 Calendar 2 Extensions 2 Networking 2 Business Intelligence 2 Web Servers 2 Style Guide 2 Artificial Intelligence 2 Trading 2 Strong Naming 2 ETL 2 Regular Expression 1 CLR 1 Blockchain 1 Web Browsers 1 Metrics 1 Windows Services 1 SMS and Phone calls 1 DirectX 1 DLR 1 Interactive programming 1 Environment Management 1 Push Notifications 1 Micro Framework 1 Exceptions 1
Sub Categories