Awesome .NET!
A collection of awesome .NET libraries, tools, frameworks, and software.
Inspired by awesome-ruby, awesome-php, awesome-python, frontend-dev-bookmarks and ruby-bookmarks.
Contributions are always welcome! Please take a look at the contribution guidelines and quality standard pages first. We accept proprietary and commercial software too.
Thanks to all contributors, you're awesome and wouldn't be possible without you! The goal is to build a categorized community-driven collection of very well-known resources.
License
To the extent possible under law, Vitali Fokin has waived all copyright and related or neighboring rights to this work.
Table of Contents
- Awesome DotNet
- Algorithms and Data Structures
- API
- Application Frameworks
- Application Templates
- Artificial Intelligence
- Assembly Manipulation
- Assets
- Authentication and Authorization
- Books
- Build Automation
- Business Intelligence and Reporting
- Caching
- CLI
- CLR
- CMS
- Code Analysis and Metrics
- Code Snippets
- Compilers, Transpilers and Languages
- Compression
- Continuous Integration
- Cryptography
- Database
- Database Drivers
- DateTime
- Decompilation
- Deployment
- DirectX
- Distributed Computing
- DLR
- Documentation
- E-Commerce and Payments
- Environment Management
- ETL
- Event aggregator and messenger
- Exceptions
- Extensions librairies
- Functional programming
- Game
- GIS
- Git Tools
- Graphics
- GUI
- HTML and CSS
- HTTP
- IDE
- Image Processing
- Install Tools
- Internationalization
- Interoperability
- IoC
- JavaScript Engines
- Logging
- Machine Learning and Data Science
- Markdown Processors
- Mathematics
- Media
- Metrics
- Micro Framework
- Minification
- Misc
- MVVM
- Object to object mapping
- Office
- ORM
- Package Management
- Profiler
- Protocols
- Push Notifications
- Query Builders
- Queue
- Reactive Programming
- Scheduling
- SDK and API Clients
- Search
- Serialization
- SMS and Phone Calls
- State machines
- Static Site Generators
- Style Guide
- Template Engine
- Testing
- Tools
- Trading
- UI Automation
- Visual Studio Plugins
- Web Browsers
- Web Frameworks
- Web Servers
- WebSocket
- Windows Services
- WPF
- Other Lists
- Resources
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.
API
- NancyFx - Lightweight, low-ceremony, framework for building HTTP-based services on .NET and Mono
- 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#.
- 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#.
- ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
- 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
Application Frameworks
- ASP.NET Boilerplate - A starting point for new modern ASP.NET MVC web applications with best practices and most popular tools.
- ASP.NET MVC Boilerplate Framework - ASP.NET MVC Extensions and Helper NuGet packages.
- 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
- 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. It builds and runs on Windows. You can 'watch' the repo to see Linux and Mac support being added over the next few months.
- CSLA .NET - business layer development framework http://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!
- 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.
Application Templates
- ASP.NET Core Starter Kit - backend: .NET Core, EF Core, C#; frontend: Babel, Webpack, React, CSS Modules
- ASP.NET MVC Boilerplate - Professional ASP.NET MVC templates for building secure, fast, robust and adaptable web applications or sites. It provides the minimum amount of code required on top of the default MVC template provided by Microsoft.
- MVC.Template - ASP.NET Core MVC project starter template.
- 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.
- 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.
- Side-Waffle - Large collection of useful templates for Web and Desktop development.
- Template10 - Windows 10 templates with design patterns.
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.
Assembly Manipulation
- Fody - Extensible tool for weaving .NET assemblies
- 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. 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
Authentication and Authorization
- ASP.NET Identity - New membership system for ASP.NET applications
- DotNetOpenAuth - A C# implementation of the OpenID, OAuth and InfoCard protocols
- Logibit Hawk - A F# Hawk authentication library
- 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.
Books
- .NET Core in Action - teaches how to write applications and libraries with .NET Core. [$]
- C# in Depth - 3rd edition, 4th edition (early access) - deep dive into the details of the C# language. [$]
- CLR via C# - Dig deep and master the intricacies of the common language runtime, C#, and .NET development. [$]
- Functional Programming in C# - teaches how to best leverage the functional features of the C# language. [$]
- Microservices in .NET Core - shows you how to build maintainable, secure and operations-friendly microservices using Nancy and .NET Core. [$]
- Dependency Injection in .NET 2nd edition - teaches you to use Dependency Injection to reduce hard-coded dependencies between application components in .NET. [$]
Build Automation
- Psake - .NET-based build automation tool written in PowerShell
- FAKE - F# Make, a cross-platform build automation system
- 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
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]
Caching
- CacheCow - An ASP.NET Web API HTTP caching implementation both on client and server
- Akavache - An asynchronous, persistent key-value store
- CacheManager - A common interface and abstraction layer for caching.
- CacheAdapter - Another common cache abstraction layer for caching with enhanced cache API usage.
- Foundatio - A common interface with in memory, Redis and hybrid implementations.
- Cashew - a .NET library for caching responses easily with an
HttpClient
through an API that is simple and elegant yet powerful.
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.
- 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.
- 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
- 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
- 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.
- SharpNetSH - A simple netsh library for C#.
CLR
- CoreCLR - The coreclr repo contains the complete runtime implementation (called "CoreCLR") for .NET Core. It includes RyuJIT, the .NET GC, native interop and many other components. It builds and runs on Windows. You can 'watch' the repo to see Linux and Mac support being added over the next few months.
CMS
- 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
- 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. http://piranhacms.org
- Umbraco - Umbraco is a free open source Content Management System built on the ASP.NET platform
- BetterCMS - Open Source .NET Intuitive User Interface for Developer and Publisher
- 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.
- BlogEngine.NET - Simple but full featured ASP.NET blog
Code Analysis and Metrics
- .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.
- 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.[$]
- App.Metrics - App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application and reports it's health. See the docs for me details.
- 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
- 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.
- Codinion - Enhanced syntax highlighting for C# and some other "Visual" features.
- NsDepCop - Static code analysis tool to enforce namespace dependency rules in C# projects.
Code Snippets
- .NET Fiddle - Write, compile and run C# code in the browser. The C# equivalent of JSFiddle.
- Gistlyn - Create, run and share your executable C# GitHub Gists.
- TryRoslyn - Run C# code using different branches and versions of Roslyn.
Compilers, Transpilers and Languages
- Bridge.NET - Open Source C# to JavaScript Compiler https://bridge.net/
- ClojureCLR - A port of Clojure to the CLR, part of the Clojure project
- F# - The F# compiler, core library and tools - a functional programming language for safer, faster, better code writing.
- FunScript - F# to JavaScript compiler with jQuery etc. mappings through a TypeScript type provider.
- IronScheme - R6RS Scheme compiler, runtime and many standard libraries
- JSIL - CIL to JavaScript Compiler http://jsil.org/
- 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.
- 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 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.
Compression
- 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)
- SharpZipLib - a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform
- Snappy for Windows - Snappy compression library for .NET baked on P/Invoke
- 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. [Free for OSS] [$]
- AppVeyor - .NET Continuous Integration and Deployment as a service. [$] [Free for OSS]
Cryptography
- 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
- libsodium-net - libsodium for .NET - A secure cryptographic library
- 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.
Database
- BrightstarDb - BrightstarDB is a native .NET RDF triple store
- Event Store - The open-source, functional database with Complex Event Processing in JavaScript. https://eventstore.org/
- LiteDB - A .NET NoSQL Document Store in a single data file - http://www.litedb.org
- 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
Database Drivers
- MySQL Connector - Connector/Net is a fully-managed ADO.NET driver for MySQL
- Npgsql - .NET data provider for PostgreSQL
- MongoDB - Official MongoDB C# driver
- RethinkDb.Driver - A RethinkDB database driver in C# striving for 100% ReQL API compatibility and completeness.
- 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
- Firebird.NET - The .NET Data provider is written in C# and provides a high-performance, native implementation of the Firebird API
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
- dnSpy - open-source .NET assembly browser, editor, decompiler and debugger
- ILSpy - ILSpy is the open-source .NET assembly browser and decompiler
- JustDecompile Engine - The decompilation engine of JustDecompile
- 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]
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
DirectX
- SlimDX - DirectX framework wrapper for .NET applications
- SharpDX - SharpDX is an open-source project delivering the full DirectX API for .NET on all Windows platforms, allowing the development of high performance game, 2D and 3D graphics rendering as well as real-time sound application.
Distributed Computing
- 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.
- 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 avaiable 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 components and topologies. Offering high-level abstractions for distributed and fault-tolerant event stream processing.
- Foundatio - Pluggable foundation blocks for building distributed apps.
- MBrace - Integrated Data Scripting for the Cloud
- 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
- SharpDox - A C# documentation tool
- SourceBrowser - Source browser website generator that powers https://referencesource.microsoft.com and http://source.roslyn.io
- 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
- Paypal Merchant SDK - Official PayPal Merchant SDK for .NET
- NopCommerce - nopCommerce. Free open-source e-commerce shopping cart (ASP.NET MVC)
- ServiceStack.Stripe - Typed .NET clients for stripe.com REST APIs
- SmartStoreNET - Free ASP.NET MVC e-commerce Shopping Cart Solution https://www.smartstore.com/en/net
- 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
Environment Management
- Dotnet CLI - The cross-platform .NET Core command-line toolchain utility.
ETL
- Reactive ETL - Reactive ETL is a rewrite of Rhino ETL using the reactive extensions for .NET
Event aggregator and messenger
- 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
- Rx Event Aggregator - Super-simple Reactive-Extension code from Reactive.EventAggregator
- 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.
Exceptions
- Exceptionless - Exceptionless .NET Client
Extensions
- ExtensionMethods.Net - Site with collection of extension methods
- Z.ExtensionMethods - Over a 1000 useful extension methods
Functional programming
- 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#
Game
- MonoGame - One framework for creating powerful cross-platform games
- 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.
- Xenko - Xenko 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]
- 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
GIS
- NetTopologySuite A .NET GIS solution that is fast and reliable for the .NET platform
- SharpMap An easy-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
Git Tools
- 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. http://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
Graphics
- LibTessDotNet - .NET port of the famous GLU Tessellator, triangulates polygons
- Oxyplot - OxyPlot is a cross-platform plotting library for .NET
- 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
- Live-Charts - An Animated, MVVM oriented and modern charting library
GUI
- QtSharp - Mono/.NET Bindings for Qt
- MahApps.Metro - Toolkit for creating Metro-styled WPF apps
- 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.
- 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
- AvalonEdit - The WPF-based text editor component used in SharpDevelop
- XWT - A cross-platform UI toolkit for creating desktop applications with .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
- MaterialDesignInXamlToolkit - Toolkit for creating Material Design styled WPF apps
- Eto.Forms - Cross-platform GUI framework for desktop and mobile applications in .NET and Mono
- Dragablz - Dragable, tearable WPF tab control (similar to Chrome) which supports layouts and is full themeable, including themese compatible with MahApps and Material Design.
- Fluent.Ribbon - Fluent Ribbon Control Suite is a library that implements an Office- and Windows 8-like Ribbon for WPF.
- Office Ribbon - A library that implements MS Office Ribbon for WinForms.
- MaterialSkin - Theming .NET WinForms, C# or VB.Net, to Google's Material Design principles.
- Xamarin.Forms - Build native UIs for iOS, Android and Windows from a single, shared C# codebase.
- 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
- Empty Keys UI - Multi-platform and multi-engine XAML based user interface library [Free][Proprietary]
- 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.
- ScintillaNET - Windows Forms control for the Scintilla text editor component (Scintilla is used by Notepad++)
- FastColoredTextBox - Fast Colored TextBox is text editor component for .NET. Allows you to create custom text editor with syntax highlighting. It works well with small, medium, large and very-very large files.
- Avalonia - A multi-platform .NET UI framework (formerly known as Perspex).
- Modern UI for WPF - MUI - Set of controls and styles to convert WPF applications into a great looking Modern UI apps.
- WinApi - A simple, direct, ultra-thin CLR library for high-performance Win32 Native Interop with automation, windowing, DirectX, OpenGL and Skia helpers.
- Neutronium - Build .NET desktop applications using HTML, CSS, javascript and MVVM bindings such as with WPF.
HTML and CSS
- 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#
- FluentBootstrap - Makes the Bootstrap CSS framework easier to use from ASP.NET MVC or WebPages.
- HtmlAgilityPack - an agile HTML parser that builds a read/write DOM and supports plain XPath or XSLT
- LibSass Host - .NET wrapper around the libSass library with the ability to support a virtual file system
HTTP
- Http.fs - A functional HTTP client for F#.
- RestSharp - Simple REST and HTTP API client for .NET
- Flurl.Http - Fluent, portable, testable REST/HTTP client library
- EasyHttp - HTTP library for C#
- Refit - The automatic type-safe REST library for Xamarin and .NET
- RestEase - Easy-to-use typesafe REST API client library, which is simple and customisable. Heavily inspired by Refit
- RestLess - The automatic type-safe-reflectionless REST API client library for .Net Standard.
- HttpClientGoodies - utilities for working with
HttpClient
IDE
- SharpDevelop - A free IDE for .NET programming languages
- MonoDevelop - MonoDevelop is a cross-platform IDE mostly aimed at Mono/.NET developers
- Visual Studio Express - The free lightweight version of Visual Studio for .NET programming.
- Visual Studio Community - A full-featured IDE
- Waf DotNetPad - A simple and fast code editor that makes fun program with C# or Visual Basic.
- 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
- RoslynPad - A simple C# editor based on Roslyn and AvalonEdit.
- Consulo - A cross-platform IDE with C# & Java support, fork of IntelliJ IDEA Community Edition
Image Processing
- ImageResizer - Add commands to image URLs to get altered versions in milliseconds. Resizing, editing etc of images in real-time.
- ImageProcessor - Open-source .NET library to manipulate images on-the-fly.
- ImageSharp - Fully managed cross-platform library for processing of image files.
- DynamicImage - High-performance open-source image manipulation library for ASP.NET.
- MetadataExtractor - Extracts Exif, IPTC, XMP, ICC and other metadata from image files.
- Emgu CV - Cross-platform .NET wrapper for the OpenCV library.
- DotImaging - Minimalistic .NET imaging portable platform
- Magick.NET - .NET wrapper for the ImageMagick library.
- OpenCvSharp - Cross platform wrapper of OpenCV for .NET Framework.
Install tools
- 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
orapt-get
, but for Windows. - Wax - An interactive editor for WiX projects.
Internationalization
- i18n - Smart internationalization for ASP.NET MVC
- 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
- CppSharp - Tools to surface C++ APIs to C#
- Sharpen - Sharpen is an Eclipse plugin created by db4o that allows you to convert your Java project into C#
- CXXI - C++ interop framework
- pythonnet - Python and .NET interop framework
- LegacyWrapper - LegacyWrapper uses a wrapper process to call DLLs from a process of the opposing architecture (x86 or AMD64).
IoC
- Castle Windsor - Castle Windsor is best of breed, mature Inversion of Control container available for .NET and Silverlight
- Unity - Lightweight extensible dependency injection container with support for constructor, property, and method call injection
- Autofac - An addictive .NET IoC container
- DryIoc - Simple, fast all fully featured IoC container.
- Ninject - The ninja of .NET dependency injectors
- StructureMap - The original IoC/DI Container for .Net
- Spring.Net - Spring.NET is an open source application framework that makes building enterprise .NET applications easier
- 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.
- Microsoft.Extensions.DependencyInjection - The default IoC container for ASP.NET Core applications.
- Scrutor - Assembly scanning extensions for Microsoft.Extensions.DependencyInjection.
- VS MEF - Managed Extensibility Framework (MEF) implementation used by Visual Studio.
- TinyIoC - An easy to use, hassle free, Inversion of Control Container for small projects, libraries and beginners alike.
JavaScript Engines
- 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.
Logging
- Essential Diagnostics - Extends the inbuilt features of System.Diagnostics namespace to provide flexible logging
- NLog - NLog - Advanced .NET and Silverlight logging
- Logazmic - Open source NLog viewer for Windows
- ELMAH - Official ELMAH site
- Elmah MVC - Elmah for MVC
- 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.
- Log4Net - The Apache log4net library is a tool to help the programmer output log statements to a variety of output targets
- 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
- Semantic Logging Application Block (SLAB) - Extends the inbuilt features of System.Diagnostics.Tracing namespace (EventSource class) to log to several sinks including Azure Tables, Databases, files (JSON, XML, text). Supports in-process and out-of-process logging through ETW, and Rx for real-time filtering/aggregating of events.
- Foundatio - A fluent logging API that can be used to log messages throughout your application.
- Exceptionless - Exceptionless .NET Client
- 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] [$]
- BugSnag - Logs errors. Includes useful diagnostic info like stack trace, session, release, etc. Has a free tier. [Free for OSS][$]
Machine Learning and Data Science
- Infer.NET - A framework for running Bayesian inference in graphical models. It can also be used for probabilistic programming. [Proprietary] [Free] [Research]
- Accord.NET - Machine learning framework combined with audio and image processing libraries (computer vision, computer audition, signal processing and statistics).
- Accord.NET Extensions - Advanced image processing and computer vision algorithms made as fluent extensions.
- 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).
- Deedle - Data frame and (time) series library for exploratory data manipulation with C# and F# support
- FsLab - A collection of data science and machine learning libraries for F# and .NET
- numl - Designed to include the most popular supervised and unsupervised learning algorithms while minimizing the friction involved with creating the predictive models.
- R Provider - Type provider that exposes R packages and functions in a type-safe way to F# callers
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- Spreads - Series and Panels for Real-time and Exploratory Analysis of Data Streams. Spreads library is optimized for performance and memory usage. It is several times faster than other open source projects.
Markdown Processors
- MarkdownSharp - Open source C# implementation of Markdown processor, as featured on Stack Overflow.
- F# Formatting - Tools for documenting F# and C# projects. The library contains extensible Markdown parser as a core component.
- CommonMark.NET - Implementation of CommonMark specification in C# for converting Markdown documents to HTML. Optimized for maximum performance and portability.
- markdig - A fast, powerful, CommonMark compliant, extensible Markdown processor for .NET.
- FluentEmail - A fluent wrapper for System.Net.Mail with Razor templating support.
- MailKit - A complete cross-platform mail stack including IMAP, POP3, SMTP, authentication and more. Built on top of MimeKit.
- 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.
Mathematics
- MathNet - Math.NET is an open source initiative to build and maintain toolkits covering fundamental mathematics, targetting advanced but also every day needs of .NET developers
- Microsoft Automatic Graph Layout - A set of tools for graph layout and viewing.
- UnitConversion - Expansible Unit Conversion Library for .NET Core and .NET Framework
- 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]
- AutoDiff - AutoDiff is a library for quickly computing gradients of functions defined by expressions. Mainly useful in numerical optimization
Media
- TagLib# - TagLib# (aka taglib-sharp) is a library for reading and writing metadata in media files, including video, audio, and photo formats
- NAudio - Playback, decode and encode audio in a variety of file formats such as MP3, MP4, WAV, AIFF, Speex, etc.
Metrics
- C# StatsD Client - C# client for Etsy's StatsD
- Foundatio - A common interface with in-memory, Redis, StatsD, and Metrics.NET implementations.
Micro Framework
- .NET Micro Framework Interpreter - Microsoft® .NET Micro Framework (NETMF) for developing embedded applications on small devices using Visual Studio
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.
- 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.
Misc
- CSharp Pad - A web-based C# REPL with awesome code completion.
- AzureCrawler - Take HTML Snapshots for your Angular, Ember, Durandal or any JavaScript applications
- 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.
- CsvHelper - Library to help reading and writing CSV files https://github.com/JoshClose/CsvHelper
- ConsoleTableExt - Fluent library to create table for .Net console application.
- FlatMapper - A library to import and export data from and to plain text files in a LINQ-compatible way.
- FluentValidation - A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
- Valit - Valit is dead simple, fluent validation for .NET Core.
- Humanizer - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
- 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. [$]
- 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).
- Rant - The Rant Procedural Text Generation DSL http://berkin.me/rant/
- ScriptCS - Write C# apps with a text editor, NuGet and the power of Roslyn!
- Shielded - Software Transactional Memory (STM) implementation for .NET
- 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.
- ReactJS.NET - ReactJS.NET is a library that makes it easier to use Babel along with Facebook's React and JSX from C#.
- 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
- Streams - A lightweight F#/C# library for efficient functional-style pipelines on streams of data.
- Warden - Define "health checks" for your applications, resources and infrastructure. Keep your Warden on the watch
- 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
- HidLibrary - This library enables you to enumerate and communicate with Hid compatible USB devices in .NET.
- SystemWrapper - SystemWrapper is .NET library for easier testing of system APIs.
- Sprache - A simple, lightweight library for constructing parsers directly in C# code
- 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.
MVVM
- 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.
- MVVM Light Toolkit - The main purpose of the toolkit is to accelerate the creation and development of MVVM applications in WPF, Silverlight, Windows Store (RT) and for Windows Phone
- 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 aDependencyProperty
. It connects controls directly to CLR properties. This makes it perfect for the Model/View/ViewModel pattern. - 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.
- 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.
- 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.
- Stylet - Minimal MVVM framework inspired by Caliburn Micro, with good documentation, high test coverage, and its own IoC container
- Gemini - IDE framework similar in concept to the Visual Studio Shell. Built on WPF, AvalonDock, and Caliburn Micro.
- Toms Toolbox - Visual Composition framework to easily build modularized MVVM applications based on the Managed Extensibility Framework (MEF).
- MVVM Dialogs - Framework simplifying the concept of opening dialogs from a view model when using MVVM in WPF or UWP.
Object to object mapping
- AutoMapper - A convention-based object-object mapper in .NET. http://automapper.org
- TinyMapper - A tiny and quick object mapper for .NET.
- ExpressMapper - A lightweight, lighting fast .NET mapper to map one type of object(s) to another in automated and easy way. ExpressMapper relies completely on the expression trees.
- AgileMapper - A zero-configuration Object-Object mapper supporting .NET Standard 1.0
Office
- 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
- NPOI - This project is the .NET version of POI Java project at http://poi.apache.org/.
- EPPlus - EPPlus is a .NET library that reads and writes Excel 2007/2010 files using the Open Office XML format (xlsx).
- Open XML SDK - The Open XML SDK provides open-source libraries for working with Open XML Documents (DOCX, XLSX, and PPTX).
- 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).
ORM
- Entity Framework 6 - Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
- Entity Framework Core - Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
- Dapper - A simple object mapper for .NET by StackExchange
- Dapper Extensions - Small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs
- Dapper.FastCRUD - The fastest micro-ORM extension for Dapper
- NHibernate - NHibernate Object Relational Mapper
- 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] [$]
- Massive - A small, happy, data access tool that will love you forever.
- 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.
- MicroLite ORM MicroLite ORM is a micro Object Relational Mapper for the .NET framework. It is designed to be easy to use, extensible and testable.
- PetaPoco - A tiny ORM-ish thing for your POCOs
- AsyncPoco - A long-"awaited" fully asynchronous PetaPoco fork
- NPoco - Simple microORM that maps the results of a query onto a POCO object. Based on Schotime's branch of PetaPoco
- Limebean - Hybrid ORM which uses SQL fragments and doesn't require Model Classes.
- LLBLGen Pro - Entity Modeling solution for Entity Framework, NHibernate, Linq to SQL and its own ORM framework: LLBLGen Pro Runtime Framework. [$][Free Lite version]
- Insight.Database - Insight.Database is a fast, lightweight, micro-ORM for .NET
- DbExtensions - Data-access framework with a strong focus on query composition, granularity and code aesthetics.
Package Management
- NuGet - The .NET package manager
- MyGet - Hosted Package Repository for NuGet, NPM, Bower and VSIX. Also provides CI as-a-Service. [Free for OSS] [$]
- Paket - A package dependency manager for .NET with support for NuGet packages and GitHub repositories. http://fsprojects.github.io/Paket/
- ITextSharp - iText is a PDF library that allows you to CREATE, ADAPT, INSPECT and MAINTAIN documents in the Portable Document Format (PDF)[$]****[Free for OSS]
- PdfiumViewer - PdfiumViewer is a PDF viewer based on the PDFium project.
Profiler
- MiniProfiler - A simple but effective mini-profiler for ASP.NET websites
- Glimpse - The open source diagnostics platform for the web
Protocols
- 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.
- SharpSnmpLib - An open source SNMP implementation for .NET/Mono/Xamarin. Versioin 1, 2c, and 3 are supported.
- DNS - A library for parsing and serializing DNS messages. Includes a basic DNS client and server.
Push Notifications
- PushSharp - A server-side library for sending Push Notifications to iOS, OSX, Android, Chrome, Windows Phone, Windows 8, Blackberry, and Amazon devices.
Query Builders
- SqlKata - Elegant SQL query builder, that supports complex queries, joins, sub queries, nested where conditions, vendor engine targets and more
Queue
- CAP - An EventBus with local persistent message functionality for RabbitMQ or Kafka.
- 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
- RestBus - A service-oriented .NET messaging library for RabbitMQ.
- RawRabbit - A modern .NET Core library for RabbitMQ.
- 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.
- Kafka Client - .NET implementation of the Apache Kafka Protocol that provides basic functionality through Producer/Consumer classes.
- Foundatio - A common interface with in-memory, Redis and Azure implementations.
- Kafunk - F# Kafka client from Jet
Reactive Programming
- 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
Scheduling
- FluentScheduler - Task scheduler with fluent interface that runs automated jobs from your application
- NCrontab - Class library for parsing & formatting crontab expressions as well as calculating occurrences of time based on a crontab schedule
- QuartzNet - Quartz Enterprise Scheduler .NET
- Hangfire - An easy way to perform fire-and-forget, delayed and recurring tasks inside .NET apps
- Chroniton - A simple, fully integrable, and customizable library for running strongly typed jobs (tasks) on schedules.
- DurableTask - This framework allows users to write long running persistent workflows in C# using the async/await capabilities.
SDK and API Clients
- 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
- DropNet - Client library for the Dropbox API
Search
- Elasticsearch .NET - Elasticsearch.Net & NEST
- PlainElastic.Net - Plain .NET client for ElasticSearch
- SolrNet - Solr client for .NET
- SolrExpress) - A simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way
- Lucene.net - Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users
Serialization
- 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
- ServiceStack.Text - JSON, JSV and CSV Text Serializers used in servicestack.net
- Msgpack-Cli - MessagePack implementation for Common Language Infrastructure
- Jil - Fast .NET JSON serializer, built on Sigil (used by StackOverflow)
- ProtoBuf - Generate C# code for protocol buffer serialization from a .proto specification.
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- Bond - cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data.
- Hyperion - A high performance polymorphic serializer for the .NET framework.
- FileHelpers - free and easy to use .NET library to import or export data from fixed length or delimited records in files, strings or streams.
- FsPickler - A fast multi-format message serializer for .NET
- Migrant - Fast and flexible serialization framework usable on undecorated classes.
- Utf8Json - Fast and Zero Allocation JSON Serializer for C#(.NET, .NET Core, Unity and Xamarin), this serializer write/read directly to UTF8 binary so boostup performance.
SMS and Phone calls
- Twilio-csharp - A C#/.NET Library for sending and receiving phone calls and text messages with Twilio.
State machines
- Stateless - Create state machines and lightweight state machine-based workflows directly in .NET code
- Automatonymous - A state machine library for .NET - allows you to write fluent style state machines
- Appccelerate - State Machine - A powerful state machine library - configured with a fluent API and synchrounous and asynchronous state transition support
- LiquidState - Efficient asynchronous and synchronous state machines for .NET
Static Site Generators
- FsBlog - Blog aware, static site generation using F#
- Pretzel - A site generation tool (and then some) for .NET platforms
- Sandra.Snow - Jekyll-inspired static site generation for .NET
- Wyam - A simple to use, highly modular, and extremely configurable static content generator
Style Guide
- C# Style Guide - StackOverflow Q & A on style guides
- C# Coding Conventions - Official MSDN C# code conventions
Template Engine
- RazorEngine - Open source templating engine based on Microsoft's Razor parsing engine
- RazorLight - Open source template engine based on Microsoft's Razor parsing engine supporting .NET Standart 2.0
- Nustache - Open source library for logic-less templates
- Stubble - Trimmed down {{mustache}} templates in .NET. Successor of Nustache.
- DotLiquid - C# port of the Ruby Liquid templating language
- Mustache Sharp - An extension of the mustache text template engine for .NET.
Testing
- AutoFixture - AutoFixture is an open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests
- BDDfy - BDDfy is the simplest BDD framework EVER!
- 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
- FluentAutomation - Simple Fluent API for UI Automation
- FsCheck - Random Testing for .NET.
- Fuchu - A unit-testing library for F# with tests-as-values which makes DSLs extemely easy to create.
- 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
- NBuilder - Rapid generation of test objects
- NCrunch - An automated continuous & concurrent testing tool for Visual Studio. [$]
- NSubstitute - A friendly substitute for .NET mocking frameworks
- NUnit - A unit-testing framework for all .NET languages
- Rhino Mocks - Dynamic Mocking Framework for .NET
- Shouldly - Shouldly is an assertion framework which focuses on giving great error messages when the assertion fails while being simple and terse.
- SpecFlow - Binding business requirements to .Net code
- xBehave.net - An xUnit.net extension for describing your tests using natural language. http://xbehave.github.io
- xUnit.net - A free, open source, community-focused unit testing tool for the .NET Framework. https://xunit.github.io/
- 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.
Tools
- Fiddler - The free web debugging proxy for any browser, system or platform
- 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. For more information see http://openlivewriter.org .
- CodeHub - CodeHub is the best way to browse and maintain your GitHub repositories on any iOS device!
- 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.
- Myrtille - A native HTML4/5 Remote Desktop Protocol client, HTTP gateway written in C# for .NET
- Opserver - Stack Exchange's Monitoring System
- CatLight - Build status notifications for TFS/Jenkins/Travis/Appveyor. Cross-platform desktop app based on .NET Core and Electron. [Free][Proprietary]
- Netling - A load tester client for easy web testing. It is extremely fast while using little CPU or memory.
- 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.
- Visual Studio Uninstaller - Uninstall and clean up all components of Visual Studio.
- 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.
- posh-dotnet -
PowerShell
tab completion for the dotnet CLI
Trading
- 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). http://stocksharp.com
UI Automation
- Atata - Automated web testing full featured framework based on Selenium WebDriver.
- Managed Windows API - Introspect and automate third-party Windows / VC++ applications without needing its source code.
Visual Studio Plugins
- Web Essentials - Web Essentials extends Visual Studio with lots of new features that web developers have been missing for many years
- VsVIM - VIM in Visual Studio
- Nuget Package Manager - NuGet is the package manager for the Microsoft development platform including .NET
- SideWaffle - A collection of Item Templates for Visual Studio 2012/2013 that makes any web developer's life much easier
- Resharper - Developer Productivity Tool for Visual Studio [$]
- Refactoring Essentials - Open source extension for C# and VB.NET refactorings, including code best practice analyzers.
- CodeContracts - Source code for the CodeContracts tools for .NET
- Git Diff Margin - Displays live Git changes of the currently edited file on Visual Studio margin and scroll bar
- Productivity Power Tools - A set of extensions to Visual Studio Professional (and above) which improves developer productivity.
- VSColorOutput - Color highlighting for Build, Find and Debug output windows. Custom match patterns and colors can be added.
- Developer Assistant - Developer Assistant for Visual Studio enables developers to find and reuse over 21 million code snippets and code sample projects from within the Visual Studio IDE.
- 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. [$]
Web Browsers
- CefSharp - HTML5, CSS3 and JS web browser powered by Chromium, for WinForms and WPF
Web Frameworks
- ASP.NET MVC - ASP.NET is a free web framework for building great web sites and applications
- FubuMVC - A front-controller style MVC framework for .NET
- NancyFx - Lightweight, low-ceremony, framework for building HTTP-based services on .NET and Mono
- IISNode - Host Node.js applications in IIS
- 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#.
- 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
Web Servers
- Kestrel - A web server for ASP.NET Core based on libuv
- EmbedIO - Web server built on Mono and cross-platform
- XSP - Mono's ASP.NET hosting server. This module includes an Apache Module, a FastCGI module that can be hooked to other web servers as well as a standalone server used for testing (similar to Microsoft's Cassini)
WebSocket
- Fleck - Fleck is a WebSocket server implementation in C#. Branched from the Nugget project
- 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
- 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. [$]
- WampSharp - A C# implementation of The Web Application Messaging Protocol - a protocol that provides messaging patterns of Remote Procedure Calls and Publish/Subscribe over WebSockets.
- NetGain - A high performance WebSocket server library powering Stack Overflow.
- Websockets.PCL - WebSockets.PCL is a portable class library, profile 259, C# WebSocket implementation.
Windows Services
- TopShelf - An easy service hosting framework for building Windows services using .NET
WPF
- Data Grid Extensions - Modular extensions for the WPF DataGrid control, like filtering, additional column events, extended star-size column behavior, and more...
Other Lists
- .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.
- C# Algorithms, Data Structures - A list of algorithms and data structures implementations.
- Awesome .NET Core - A collection of awesome .NET core libraries, tools, frameworks and software
- 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.
- 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.
Resources
- Weekly C# Digest - Weekly email newsletter with manually curated top 5 links from the .NET community.