.NET Open Source Developer Projects
This community maintained list showcases .NET open source developer projects. It is intended to include projects that are useful for any aspect of the development process. For consumer projects, see the .NET open source consumer projects list. PR a change into either list and it will be accepted (modulo duplicates).
Please sort projects alphabetically and provide a one-line description. GitHub/CodePlex (or other source) links are preferred, but feel free to also include marketing sites. Create new sections, as appropriate.
- .NET Core - Core .NET Framework
- C# Native - Compiles C# to native (No Recent Updates - Still on CodePlex - 4/2018).
- Cosmos - C# Open Source Managed Operating System, an operating system "construction kit".
- Fling OS - C# Operating System designed for people to learn low-level development from.
- Mono - Cross-platform implementation of .NET Framework.
- MOSA Project - Managed Operating System Alliance Project - C# Operating System.
- SharpLang - Compiles C# & .NET to native machine code, using LLVM as a backend.
- Akka.NET - Akka.NET is a toolkit and runtime for building highly concurrent, distributed, and fault tolerant event-driven applications on .NET & Mono. This community-driven port brings C# & F# developers the capabilities of the original Akka framework in Java/Scala. [Project Site]
- Castle Project - Umbrella project for ActiveRecord, DynamicProxy, MonoRail, Windsor
- Catel - Application platform with IoC, logging, reflection and much more that serves as a base for applications that must be ready for future growth.
- Enterprise Web Library (EWL) - An extremely opinionated platform for web applications that trades off performance, scalability, and development flexibility for an ease of maintenance you won't find anywhere else. Enterprise Web Library site.
- KonfDB - Configuration Management as a Service for cross-platform, multi-tenant enterprise/hobby applications.
- Orleans - Orleans is a framework that provides a straightforward 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 and designed for use in the cloud. Orleans is a mature but fast evolving platform that has been battle tested since 2011 by several Microsoft product groups, such as Halo, Gears of War, Skype, Azure, Xbox, as well as by a growing number of other companies using it in Azure, AWS, GCP, and on premises.
- Boo - A .NET language similar to Python but with static typing, and many meta-programming capabilities.
- ClojureCLR - A .NET implementation of the Clojure programming language, built on the DLR.
- Cobra - Clean, high-level syntax (Boo/Python-like). Static and dynamic binding. First class support for unit tests and contracts. Compiled performance with scripting conveniences. Lambdas and closures. Extensions and mixins.
- Dynamic Language Runtime - A toolkit for building dynamic languages for .NET.
- Eagle - A .NET implementation of the Tcl programming language, built on the CLR.
- Essence# - Essence# is a fully dynamic and highly polymorphic programming language which features pervasive message passing, pervasive dynamic and strong typing, pervasive and deep reflection and pervasive object orientation.
- F# - A mature, open source, cross-platform, functional-first programming language.
- F* - An ML-like language with a type system for program verification.
- IronPython - A .NET implementation of the Python programming language, built on the DLR. IronPython Site.
- IronRuby - A .NET implementation of the Ruby programming language, built on the DLR. IronRuby Site.
- IronScheme - A R6RS conforming Scheme-like implementation based on the Microsoft DLR.
- Irony - a development kit for implementing languages on .NET platform
- MoonSharp - A Lua interpreter and remote debugger, written entirely in C#, easily embeddable in any application running on .NET 3.5+ and Mono.
- Nemerle - A high-level statically-typed programming language which offers functional, object-oriented and imperative features and has a simple C# like syntax and a powerful meta-programming system.
- NiL.JS - A .NET implementation of the ECMAScript language and runtime.
- Phalanger - full-featured PHP runtime & compiler for .NET/Mono frameworks. Phalanger is modern open-source implementation of PHP, compatible with the vast array of existing PHP code.
- Roslyn (.NET Compiler Platform) - Open-source C# and Visual Basic compilers with rich code analysis APIs.
- Docker with .NET Core - A tutorial trilogy designed to get you up and running quickly.
- C# Coding Guidelines - A set of coding guidelines for C# 3.0, 4.0 and 5.0 that extend StyleCop and can be forked and adapted for internal use.
Security / Identity Management
- IdentityManager - (No Longer Maintained) IdentityManager is a tool for developers and/or administrators to manage the identity information for users of their applications.
- IdentityServer - OpenID Connect and OAuth 2.0 Framework for ASP.NET Core.
- NWebsec - Security headers for ASP.NET applications.
- SKGL - Serial Key Generating Library - A very simple licensing system that can be used to protect .NET Applications.
- Composite C1 - Web content management platform (CMS).
- DNN (formerly DotNetNuke) - Web content management platform (CMS).
- Kaliko CMS - Flexible and extensible CMS framework supporting both ASP.NET MVC and WebForms.
- N2CMS - Open source, lightweight, code-first CMS able to seamlessly integrate into any MVC project.
- Orchard - A community-focused Content Management System built on the ASP.NET MVC platform.
- Piranha CMS - Lightweight CMS library for new and existing ASP.NET MVC & WebPages applications.
- Platformus - Free, open source and cross-platform CMS based on ASP.NET Core 1.1 and ExtCore framework.
- Suave A lightweight web server and a set of combinators to manipulate route flow and task composition.
- Umbraco - Web content management platform (CMS).
- BeYourMarket - BeYourMarket is a peer-to-peer marketplace framework.
- ASP.NET Boilerplate - ASP.NET Boilerplate is a general-purpose application framework specially designed for new modern web applications. It uses already familiar tools and implements best practices around them to provide you a solid development experience.
- Nancy - A lightweight, low-ceremony, framework for building HTTP based services on .NET and Mono.
- NemerleWeb - Web MVVM library for .Net. It uses reactive data model which allows creating rich internet applications.
- RedHttpServer - HTTP web server framework built on ASP.NET Core and Kestrel, but with an API inspired by the simplicity of express.js.
- ServiceStack - Comprehensive and lightning fast message-based framework including ORM, caching, authentication, templating, SPA integrations, etc.
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.
- Azure Event Hubs - .NET Standard client library for Azure Event Hubs.
- Azure Relay - .NET Standard client library for Azure Relay.
- Azure Service Bus - .NET Standard client library for Azure Service Bus.
- AzureNetQ - An easy to use .NET API for Azure Service Bus.
- Brighter - A Command Dispatcher and Command Processor library with support for Work or Task Queues over different MoM implementations such as RabbitMQ.
- CAP - An EventBus with local persistent message functionality for RabbitMQ or Kafka.
- EasyNetQ - An easy to use .NET API for RabbitMQ.
- FasterLog: A high-performance concurrent persistent log (messaging queue) library for .NET, supporting group commit, scans, and random reads over tiered/sharded local and cloud storage.
- Lime - A lightweight messaging library.
- MassTransit - A distributed application framework for RabbitMQ and Azure Service Bus.
- NServiceBus - The most popular service bus for .NET.
- RestBus - Easy Asynchronous Messaging and Queueing for .NET.
- Rebus - Rebus is a lean service bus implementation for .NET.
- Albedo - A .NET library targeted at making Reflection programming more consistent, using a common set of abstractions and utilities.
- Algorithmia - Algorithms and Data structures
- AngleSharp - Ultimate angle brackets parser library. It parses HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specification.
- ArcGIS.PCL - Call ArcGIS Server REST API resources. You can also convert between ArcGIS features and GeoJSON.
- Argument - Argument validation microframework that does one thing in the simplest way possible.
- AshMind.Extensions - A set of very conservative extension methods most of which closely follow naming and design patterns of .NET Base Class Library.
- AspectCore - AspectCore is an Aspect-Oriented Programming based cross platform framework for .NET Core and .NET Framework.
- ASP.NET MVC Boilerplate Framework - ASP.NET MVC Extensions and Helper NuGet packages.
- AsyncCollections - A set of lock-free thread-safe collections designed to be used asynchronously.
- Automatonymous - An asynchronous state machine engine with messaging support.
- Bing.RestClient - Access the Bing REST APIs from a unified client.
- BoxKite.Twitter - Twitter .NET Client Library for the 1.1 Twitter API, incorporating REST API, User streaming and Search Streaming. Uses Reactive Extensions (Rx).
- CarbonIntensityUK - Asynchronous wrapper around the Carbon Intensity API provided by the National Grid ESO.
- Castle.LoggingFacility.MsLogging - An adapter library for Castle logging facility to support Microsoft.Extensions.Logging integration.
- Castle Windsor ASP.NET Core / Microsoft.Extensions.DependencyInjection Adapter - This library is a Castle Windsor adapter for the Microsoft.Extensions.DependencyInjection NuGet package.
- Cecil - A popular library to read, modify and write .NET binaries.
- Cimbalino Toolkit - A set of useful and powerful tools that will help you build your Windows Platform applications.
- Cinchoo ETL - ETL Framework for .NET (Parser / Writer for CSV, Flat, Xml, JSON, Key-Value formatted files).
- CodeJam - Set of handy reusable .NET components that can simplify your daily work and save your time when you copy and paste your favorite helper methods and classes from one project to another.
- Coding4Fun Toolkit - A set of controls, converters, and helper classes for Windows Runtime XAML applications.
- ColoredConsole - Add some color to your console.
- ColorSharp - Library to handle color spaces and light spectrums.
- ComparerExtensions - Build IComparer and IEqualityComparer objects using natural language syntax.
- Comparers - Fluent syntax for building comparers (and equality comparers) and implementing object comparison.
- CoordinateSharp - Parse or convert geographic coordinate formats and calculate location based solar/lunar information.
- CoreIpc - WCF-like service model API for communication over named pipes. .NET standard and node.js clients.
- Cricket - Actor library.
- DalSoft.RestClient - An extensible, dynamic and fluent Rest Client. Create frictionless code whilst still using the HttpClient you already know.
- DateTimeExtensions - Common Date Time operations on the form of extensions to System.DateTime, including holidays and working days calculations on several culture locales.
- DeveelDB - SQL-99 embeddable database engine for .NET.
- Deveel Math - A port of Google's Harmony library of the Math components to .NET for the computation of astonomic decimals (numbers with more than 1 million decimal digits).
- DiffSharp - Automatic Differentiation Library.
- DnsClient - A high performant DNS query/lookup library - Home
- DotNetOpenAuth - Library that adds support for your site visitors to login with their OpenIDs by just dropping an ASP.NET control onto your page.
- DropboxRestAPI - DropBox .Net Client Library.
- DryWetMIDI - .NET library to read, write, process MIDI files and to work with MIDI devices.
- DynamicData - Brings the power of Rx to collections.
- Enums.NET - High-performance type-safe .NET enum utility library.
- Excel-DNA - Create high-performance, easy to deploy Excel add-ins with .NET - Home
- ExtCore - Free, open source and cross-platform framework for creating modular and extendable web applications based on ASP.NET Core 1.1.
- ExtraLINQ - Various extension methods for working with .NET collections.
- FASTER: A high-performance concurrent, latch-free, persistent hash key-value store and caching library (over a record log) for .NET.
- FeatureToggle - Simple, reliable feature toggles in .NET.
- FlatMapper - A library to import and export data from and to plain text files in a Linq compatible way.
- FluentBootstrap - Provides extensions, helper classes, model binding, and other goodies to help you use the Bootstrap CSS framework from .NET code.
- FluentConsole - Alternative approach to colored console (
- FluentValidation - A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.
- Flurl - A fluent, portable, testable URL builder and HTTP client library.
- Font-Awesome-WPF - WPF controls for the iconic font and CSS toolkit Font Awesome.
- GeckoFX - Mozilla's Gecko layout engine wrapper in .NET.
- GeoTimeZone - Provides an IANA time zone identifier from latitude and longitude coordinates.
- GongSolutions.Wpf.DragDrop - A drag'n'drop framework for WPF.
- HudlFfmpeg - A/V transcoding framework that helps build complex FFmpeg commands.
- JSON.NET - Popular high-performance JSON framework for .NET
- Kentor.AuthServices - A SAML2 Service Provider for .NET.
- Language-ext - C# 6.0+ functional language extensions. Make C# more like F# and other functional languages
- leveldb-sharp - cross-platform C# binding for LevelDB
- Lexical.FileProvider - Various IFileProvider implementations and utilities.
- Lexical.FileSystem - Virtual IFileSystem interfaces, and implementations. Adaptable with IFileProvider.
- Lexical.Localization - Localization class library for .NET.
- LibGit2Sharp - C# language bindings for the LibGit2 implementation of Git.
- LINQ Extensions - LINQ extensions for .NET is a collection of useful extensions methods that extends LINQ's capability. There are methods for combinatorics and sequence analysis, generation and manipulation.
- Localization.SqlLocalizer - SQL Localizer for ASP.NET Core, dotnet
- Lucene.Net - A .NET full-text search engine framework that is a C# port of the popular Apache Lucene project.
- MahApps.Metro.IconPacks - Some awesome icons for
UWPall together. The library contains controls to use icons from Material Design, Material Design Icons Light, Font Awesome, GitHub Octicons, Modern, Entypo+ and Simple Icons.
- Math.NET Numerics - Provides methods and algorithms for numerical computations in science, engineering and every day use.
- Mathos Core Libary - A library with algorithms for numerical calculations in finance, statistics, pattern recognition, and more.
- Mathos Parser - A simple parser for mathematical expressions before and at runtime.
- Mjolnir - Hystrix-inspired fault tolerance with circuit breakers and thread pools.
- MoreLINQ - LINQ to Objects is missing a few desirable features. This project will enhance LINQ to Objects with extra methods, in a manner which keeps to the spirit of LINQ.
- NAudio - An open source .NET audio and MIDI library.
- NEST - The official .NET client library for Elasticsearch.
- NetTopologySuite - A .NET port of the JTS Topology Suite.
- NHunspell - Spell Checker, Hyphenation and Thesaurus.
- NModbus4 - Implementation of the Modbus protocol.
- NodaTime - A better date and time API for .NET.
- NPOI - An Office file formats (xls, xlsx, docx) read/write library for .NET.
- OneDriveRestAPI - (No Updates in 3 Years) OneDrive .Net Client Library using the REST API.
- OsmSharp - Mapping & Routing library.
- Parquet.Net - Fully managed implementation of Apache Parquet Format. Used by ML.NET.
- PocketSharp - Library for the Pocket API.
- PortableRest - Portable library for building cross-platform REST API Clients for .NET and Xamarin.
- RestSharp - Simple REST and HTTP API Client for .NET
- SharpCompress - SharpCompress is a fully managed cross-platform C# library to deal with many compression types and formats: Zip, GZip, RAR, TAR, 7Zip, etc.
- SharpMap - An easy-to-use mapping library for use in web and desktop applications
- SharpSnmpLib - An easy-to-use SNMP library for use on all platforms (.NET/Mono/Xamarin)
- Shielded - Software Transactional Memory for .NET
- SimpleImpersonation - Allows you to impersonate a user, given their credentials.
- SmartIrc4net - IRC C# Library
- Spartacus - Multi-purpose C# library, containing: 1) classes to access many types of databases in a fast, generic way; 2) classes to work with XLSX, CSV and DBF files; 3) PDF report engine.
- Splat - A library to make things cross-platform that should be.
- SSH.NET - A client-side library for SSH, SCP and SFTP.
- Strongly Typed Client API Generators for ASP.NET Web API - Strongly Typed Client API Generators generate strongly typed client API in TypeScript and C# codes supporting desktop, Universal Windows, Android and iOS.
- Stuntman - OWIN middleware for quickly mocking authentication/authorization use case scenarios locally. Supports Cookie Authentication and Bearer Token Authentication.
- SuperSocket - An extensible socket server engine which supports .NET and Mono.
- surging - The distributed micro service framework based on .NET Core provides high-performance RPC Communications.
- Sweet.Jayson - Fast, reliable, easy to use, fully json.org compliant, thread safe C# JSON library for server side and desktop operations.
- TimeZoneConverter - Lightweight library to convert quickly between IANA, Windows, and Rails time zone names.
- TimeZoneNames - Provides a complete source of localized time zone names and abbreviations.
- TomP2P.NET - A P2P-based high performance key-value pair storage library for .NET. (Not Updated in 3 Years - 4/2018)
- Unchase.FluentPerformanceMeter - An open-source and cross-platform .Net Standard 2.0 library that is designed for the method's performance measurement.
- VkSharp - VK client library.
- 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.
- WebSocket4Net - A C# websocket client for .NET, Mono and Xamarin.
- WinFsp - FUSE for Windows - Develop file systems in .NET.
- WpfToolkit - Fork of the MS WPF Toolkit.
- XamlEssentials - Collection of helpers for Microsoft's XAML platforms. (Not Updated in 4 Years - 4/2018)
- Zlib.Portable - A Portable Class Library port of the Zlib library from http://dotnetzip.codeplex.com. (Not Updated in 3 Years - 4/2018)
Data Mine/Data Extraction/Machine Learning/AI
- AForge.NET - a C# framework designed for developers and researchers in the fields of Computer Vision and Artificial Intelligence - image processing, neural networks, genetic algorithms, machine learning, robotics.
- Accord.NET Framework - The Accord.NET Framework is a .NET machine learning framework combined with audio and image processing libraries completely written in C#.
- Nepy - A collection of NLP parsers for .NET. (Not Updated in 3 Years - 4/2018)
- SharpNLP - SharpNLP is a collection of natural language processing tools written in C#. (No Recent Updates - Still On Codeplex - 4/2018)
- Toxy - An data/text extraction framework for .NET, similar to Tika in Java. (Not Updated in 2 Years - 4/2018)
Graphics & Server-side Image Processing
- .NET Image Processor - Extensible, chainable image processing library (GDI+ based).
- DynamicImage - WPF-based server-side image rendering system - lots of visual effects implemented as high-performance shaders. Has URL api, several plugins available.
- ImageProcessor - A fluent wrapper around System.Drawing for the processing of image files (NET 4.5+ GDI+ based).
- ImageResizer - Add commands to image URLs to get altered versions in milliseconds. Edit, filter, touch-up images in real-time. (multiple backends - FreeImage, C++/CLI, GDI+, WIC). 45+ plugins available.
- ImageSharp - A cross-platform library for processing of image files written in C#. (NetStandard 1.1 X-Plat).
- King.Azure.Imaging - Scalable image uploading and processing for Azure.
- Magick.NET - The .NET (Core/Framework) wrapper for the ImageMagick library that supports over 100 major file formats.
- MonoGame - MonoGame is a cross-platform, open-source implementation of the XNA Game Framework.
- numl - numl is a general purpose machine learning framework meant to simplify the data analysis process
- OpenTK - OpenTK is a low-level, cross-platform binding to OpenGL, OpenGL ES, OpenCL and OpenAL, available for Windows, Linux, Mac OS X, BSD, Android and iOS.
- SharpDX - SharpDX is a project delivering the full DirectX API for .NET on all Windows platforms.
- ELMAH - ELMAH (Error Logging Modules and Handlers) is an application-wide error logging facility that is completely pluggable. It can be dynamically added to a running ASP.NET web application, or even all ASP.NET web applications on a machine, without any need for re-compilation or re-deployment.
- Exceptionless - Provides real-time .NET error reporting for your ASP.NET, Web API, WebForms, WPF, Console, and MVC apps. It organizes the gathered information into simple actionable data that will help your app become exceptionless!
- log4net - A tool to help the programmer output log statements to a variety of output targets.
- LogMaster4Net - It is a central log server which can organize your logs in different applications in the same place but have same log behaviors (loggers, appenders, levels and rules) like in the independent applications before.
- NLog - NLog is a free logging platform for .NET with rich log routing and management capabilities.
Model-View-ViewModel (MVVM) Frameworks
- Caliburn Micro - A small, yet powerful framework, designed for building applications across all XAML platforms.
- Catel.MVVM - Catel is an application development platform with the focus on MVVM.
- MVVM Cross - A cross-platform mobile MVVM development framework.
- MVVM Extensions - MVVM cross platform (.NET FW 4.5, WPF, Windows Runtime/Phone) extensions for .NET with support for async commands, MVVM-friendly Object and Task with support for UI notification.
- MVVM Light Toolkit - A cross-platform desktop and mobile MVVM development framework.
- Okra App Framework - An MVVM framework for Windows Store applications including MVVM templates for Visual Studio.
- Prism - A cross-platform desktop and mobile MVVM development framework.
- Radical - An infrastructure framework whose primary role is to help in the development of composite WPF/Silverlight/WP/WinRT applications based on the Model View ViewModel pattern.
- ReactiveUI - An MVVM framework that integrates with the Reactive Extensions for .NET to create elegant, testable User Interfaces that run on any mobile or desktop platform.
- Simple Mvvm Toolkit - Provides a simple framework and set of tools for getting up to speed quickly with applications based on the MVVM design pattern.
- Smaragd - A platform-independent, lightweight library for developing .NET applications using the MVVM architecture.
- Win Application Framework (WAF) - A lightweight Framework that helps you to create well structured XAML Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel pattern.
- API Port - A tool that will analyze code for compatability issues when migrating between .NET Framework releases.
- Cake (C# Make) - A build automation system with C#/Roslyn driven build scripts.
- CInject - A tool to inject your C#/VB.NET code into existing .NET assemblies and executables
- CppSharp - C/C++ bindings generation for .NET.
- Crawler-Lib Build Tools - A PowerShell based toolbox for automating the software build process, automated testing and integration.
- dnSpy - A .NET decompiler, debugger, and assembly editor that lets you edit and debug assemblies even if you don't have their source code.
- FAKE - Build automation system with capabilities which are similar to make and rake.
- FlubuCore - A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
- Fody - Extensible tool for weaving .NET assemblies.
- FsEye - A visual object tree inspector for the F# Interactive.
- FsharpLint - Lint tool for F#.
- FsPickler - Serialization library that facilitates the distribution of .NET objects.
- Git Extensions - A feature packed and extensible Windows UI tool for managing git repositories, it also integrates with Windows Explorer and Microsoft Visual Studio (2015/2017/2019).
- Fusion++ - A modern alternative to the Microsoft Assembly Binding Log Viewer (FUSLOGVW.exe).
- GitLink - Command-line tool to make .NET open source accessible without the need for a symbols server
- GitVersion - Use convention to derive a SemVer product version from a GitFlow based repository.
- Glimpse - Providing real time diagnostics & insights to the fingertips of hundreds of thousands of developers daily.
- ILSpy - ILSpy is the open-source .NET assembly browser and decompiler.
- Mini Profiler - A simple but effective mini-profiler for .NET.
- Node.js Tools For Visual Studio - Plugin that turns Visual Studio into a Node.js IDE
- NsDepCop - Static code analysis tool to enforce namespace dependency rules in C# projects.
- Obfuscar - MSIL obfuscation utility for .NET assemblies.
- OmniDB - Web tool for database management and conversion. Site
- Outcomes.Net - Fluent wrapper that eliminates plumbing code around failure-prone functions.
- Paket - Dependency manager for .NET and Mono projects, which is designed to work well with NuGet packages and also enables referencing files directly from GitHub repositories.
- Polly - A resilience and transient-fault-handling library that allows developers to express policies such as Retry, Circuit Breaker, Timeout, Bulkhead Isolation, and Fallback in a fluent and thread-safe manner.
- Protobuf-net - A .NET implementation of protobuf, allowing you to serialize your .NET objects efficiently and easily.
- Quick Diagram Tool for C# - Code visualization tool for C#.
- RepoZ - A zero-conf git repository hub for Windows and macOS with Windows Explorer and CLI enhancements.
- scriptcs - scriptcs makes it easy to write and execute C# with a simple text editor.
- Snoop WPF - Snoop - The WPF Spy Utility
- Sql Bulk Copy Sync - A lightweight, performant non-intrusive SQL Server data sync tool.
- Vagabond - Automated dependency resolution and dynamic assembly compilation framework.
- Waf DotNetPad - The Waf DotNetPad is a simple and fast code editor that makes fun program with C# or Visual Basic.
- Weighted Selector - Easy to use (but high performance!) weighted selection implementation.
- XDav - A .net server mudole for webdav standard.
- ZeroToNine - A tool for maintaining .NET Assembly versions across multiple files.
- AutoFixture - An open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests. Its primary goal is to allow developers to focus on what is being tested rather than how to setup the test scenario, by making it easier to create object graphs containing test data.
- canopy - A web testing framework.
- FakeItEasy - The easy mocking library for .NET.
- Fixie - A low-ceremony, convention-based testing framework with flexible customization.
- FluentAssertions - A very extensive set of extension methods that allow you to more naturally specify the expected outcome of unit tests and which make your assertions look beautiful, natural and most importantly, extremely readable.
- FluentAutomation - Simple Fluent API for UI Automation
- FsCheck - A tool for testing .NET programs automatically.
- Http.ClientHelpers - library to help mock & test
- moq - The most popular and friendly mocking framework for .NET
- NBuilder - A rapid test object generator.
- NSpec - .NET BDD testing framework of the xSpec (context/specification) flavor, heavily inspired by RSpec and Mocha.
- NSubstitute - A friendly substitute for .NET mocking frameworks.
- NUnit - NUnit is a unit-testing framework for all .NET languages.
- Shouldly - Should style test assertion library with great error messages.
- SpecFlow - Cucumber clone for .NET for writing acceptance tests in natural language. Site
- tickspec - A lightweight Behaviour Driven Development (BDD) framework.
- TestStack.BDDfy - BDDfy is the simplest BDD framework to use, customize and extend!
- TestStack.FluentMvcTesting - Simple, terse, fluent unit testing for ASP.NET MVC Controllers.
- TestStack.Seleno - Seleno helps you write automated UI tests in the right way by implementing Page Objects and Page Components and by reading from and writing to web pages using strongly typed view models.
- TestStack.White - White is a framework for automating rich client applications based on Win32, WinForms, WPF, Silverlight and SWT (Java) platforms.
- xBehave.net - A BDD/TDD framework based on xUnit.net and inspired by Gherkin.
- xUnit - xUnit.net is a community-focused unit testing tool for the .NET Framework.
- Autofac - Autofac is an addictive Inversion of Control container for .NET 4.5, Silverlight 5, Windows Store apps, and Windows Phone 8 apps.
- Castle Windsor - A mature Inversion of Control container available for .NET and Silverlight
- DI Feature Tests - Tests that track common DI features among multiple containers
- dI.Hook - DI container that allows invocation using AOP
- DryIoc - DryIoc is small, fast, capable IoC Container for .NET
- fFastInjector - fFastInjector is a high-performing dependency injector, service locator, and/or IOC (inversion of control) container.
- Funq - A fast DI container you can understand. (No Recent Updates - Still on CodePlex - 4/2018)
- Grace - Grace is a feature rich Dependency Injection container in a portable class library
- Griffin - Inversion of control container with (almost) zero configuration
- HaveBox - HaveBox is a very fast and lightweight IoC container. The goal is to keep it fast and light, and at the same time easy to use.
- Hiro - An ultra-lightweight, inversion of control container compiler framework
- IfInjector - High performance mobile micro-IoC container.
- LightCore - A lightweight dependency injection container that can be used as a service locator and despite its simplicity and ease boasts numerous features.
- LightInject - A ultra lightweight IoC container
- MicroSliver - MicroSliver is a micro, non-bloat, non-intimidating and speedy .NET (ASP.NET, Silverlight, RIA Services, WPF, Forms and Metro!). (No Recent Updates - Still on CodePlex - 4/2018)
- Mugen Injection - The MugeniInjection is a lightweight and fast managed IoC (Inversion of Control) and DI (Dependency Injection) with support for constructor, property and method call injection. (No Recent Updates - Still on CodePlex - 4/2018)
- Ninject for Desktop - Dependency injector for .NET.
- Ninject for Portable Class Libraries, Universal apps and Xamarin
- QuickInject - QuickInject is a Unity 3.5 based IoC container that aims to give the Unity container a performance advantage in basic scenarios.
- Simple Injector - Simple Injector is an easy-to-use Dependency Injection library for .NET 4+ that supports Silverlight 4+, Windows Phone 8, Windows 8 including Universal apps and Mono.
- Spring.NET - Spring.NET is an open source application framework that makes building enterprise .NET applications easier.
- StructureMap - StructureMap is a Dependency Injection / Inversion of Control tool for .Net that can be used to improve the architectural qualities of an object oriented system by reducing the mechanical costs of good design techniques.
- StyleMVVM - Style MVVM is a toolkit designed for the Windows Store platform around the idea of being light weight and fast. (No Recent Updates - Still on CodePlex - 4/2018)
- TinyIoC - An easy to use, hassle free, Inversion of Control Container for small projects, libraries and beginners alike.
- Unity Container - The Unity Container (Unity) is a lightweight, extensible dependency injection container with optional support for instance and type interception.
- Dapper - Dapper is a single file you can drop in to your project that will extend your IDbConnection interface.
- DeveelDB - A complete SQL-99 embeddable database management system for .NET and Mono
- Eggado - Eggado takes generics, lambdas, expression trees, dynamic methods and DLR and uses them to breathe new life into data access using good old ADO.NET. It's for folks who can live with a SQL dialect.
- Elephant - Persistence library that provides common data structures as composable elements to abstract any storage engine, including (No)SQL databases.
- King.Mapper - High performance model mapping.
- linq2db - Lightweight ORM and LINQ provider with support for various databases including MS SQL, PostgreSQL, Oracle and MySQL
- LINQ2DynamoDB - A type-safe data context for AWS DynamoDB with LINQ, in-memory caching and OData support.
- Marten - Document DB / Event Store built on top of PostgreSQL.
- NHibernate - Object Relational Mapper
- Simple Data - A light-weight, dynamic data access component for C# 4.0.
- Sqlite-net - Simple, powerful, cross-platform SQLite client and ORM.
- NMEA Parser - Library for handling NMEA message in Windows Desktop, Store, Phone and Xamarin (Android + iOS), coming from files, Bluetooth, serial port or any stream.
- Neyro.Data - Tiny, simple and fast ORM.
- SQL LocalDB Wrapper - SQL LocalDB Wrapper is an assembly providing interop with the SQL LocalDB native API from managed code using .NET APIs.
- StackExchange.Redis - A high performance, general purpose redis client for .NET languages (C#, etc.).
- Duality - An Open Source 2D Game Engine + Visual Editor written entirely in C#.
- MonoGame - One framework for creating powerful cross-platform games.
- OpenRA - An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL.
- WaveEngine - A powerful component based game engine for desktop and mobile platforms using C#.
- Xenko - Xenko is a versatile and engaging game engine.
UI and Control libraries
- AdonisUI - Lightweight UI toolkit for WPF applications offering classic but enhanced Windows visuals.
- Callisto - UI Control Toolkit for WinRT apps.
- Dragablz - A tearable TabControl for WPF which also provides easy-to-use and implement docking features.
- Eto - Cross platform GUI Toolkit for desktop and mobile apps
- MahApps.Metro - A toolkit for creating Metro / Modern UI styled WPF apps. mahapps.com
- Material Design in XAML Toolkit - WPF/XAML resources, styles & templates for creating applications using Material Design
- Mono XWT - A cross-platform UI toolkit for creating desktop apps
- 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.
- King.Service - Task scheduling for Azure and Windows
- TopShelf - An easy service hosting framework for building Windows services using .NET.
- FluentScheduler - Task scheduler with fluent interface that runs automated tasks (cron jobs) from your application.
- Hangfire - An easy way to perform fire-and-forget, delayed and recurring tasks inside ASP.NET applications.
- Quartz.Net - A full-featured, open source job scheduling system that can be used from smallest apps to large scale enterprise systems.
- DropkicK - A fluent deployment library for Windows applications
- RoundHouse - RoundhousE is a Database Migration Utility for .NET using sql files and versioning based on source control
- King.Service.ServiceBus - Task scheduling for Azure and Windows Servers: Service Bus.
- Warewolf Easy Service Bus - An open source easy to use service bus, built on numerous .Net technologies including WF (Windows Workflow Foundation), SignalR and WPF.
Distributed Caching and Computing
- CacheAdapter - a .Net library allows developers to use unified-implemented cahce provider
- CacheManager - A configurable abstraction layer for caching. It supports various caches, like redis and memcached, and provides many advanced features, like layered cache, synchronization, serialization etc.
- Dache - An open source distributed caching service, built on .NET 4.0 and using TCP sockets for communication.
- Orleans - Framework that provides a straight-forward approach to building distributed high-scale computing applications using virtual actor model.
- Core WF - WF runtime ported to work on .NET Core.
- Orleans.Activities - WF over Microsoft Orleans framework.
- Workflow Extractor - Document Windows Workflow logic into a Word document or Excel sheet.
Amazon Echo/Alexa Integration
- AlexaSkillsKit.NET - .NET library to write Alexa Skills that's interface-compatible with Amazon's AlexaSkillsKit for Java and matches that functionality.
- Myrtille - A native HTML4/5 Remote Desktop Protocol client, HTTP gateway written in C# for .NET
- ASP.NET Core & Mvc/Angular5 Startup Template - This is a template to create ASP.NET Core MVC / Angular based startup projects for ASP.NET Boilerplate. This project also supports multi-tenancy.
- 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.
- EISK - .NET Core project templates with simple use cases and framework for building scalable web applications, following architectural best practices (DDD, Onion Architecture etc). Project site.
- Unchase.Dynamics365.Connectedservice - A Visual Studio Connected Service for generating early-bound .NET Framework (or C++) classes that represent the entity data model used by Dynamics 365 for Customer Engagement.
- Unchase.Odata.Connectedservice - A Visual Studio Connected Service for generating API client code in C# or VB for OData web service.
- Unchase.OpenAPI.Connectedservice - A Visual Studio Connected Service for generating API client code in C# or TypeScript. Also generates C# controllers for OpenAPI services with NSwag.
This list is just a starting point - also take a look at all the projects on GitHub Trending C#.
Thanks to @slodge for providing the initial list.