dotnet/dotnet-developer-projects.md

16 KiB

.NET Open Source Developer Projects

There are many .NET open source developer projects. You can always use a search engine to find projects, and that's a good approach. This list is intended to provide a showcase for projects that want it and to be community maintained. PR a change in and it will be accepted (modulo duplicates). Projects should be sorted alphabetically provide a one-line description and GitHub (or source) links are preferred over marketing sites.

  • .NET Implementations

  • .NET Core - Core .NET Framework

  • Mono Project - Cross-platform implementation of .NET Framework.

  • Platforms

  • 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.

  • Cosmos

  • Languages

  • ClojureCLR - A .NET implemention of the Clojure programming language, built on the DLR.

  • Dynamic Language Runtime - A toolkit for building dynamic languages for .NET.

  • IronPython - A .NET implementation of the Python programming language, built on the DLR.

  • IronRuby - A .NET implementation of the Ruby programming language, built on the DLR.

  • IronScheme - A R6RS conforming Scheme-like implementation based on the Microsoft DLR.

  • 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.

  • Eagle A .NET implementation of the Tcl programming language, built on the CLR.

  • Security / Identity Management

  • Thinktecture IdentityServer

  • Thinktecture IdentityManager

  • Web CMS

  • DNN (formerly DotNetNuke) - Web content management platform (CMS).

  • Orchard - A community-focused Content Management System built on the ASP.NET MVC platform.

  • Suave A lightweight web server and a set of combinators to manipulate route flow and task composition.

  • Umbraco - Web content management platform (CMS).

  • WebSharper Web programming platform including a compiler from F# code to JavaScript.

  • Web Frameworks

  • 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.

  • ADO.NET providers

  • Npgsql PostgreSQL

  • Firebird .NET client Firebird

  • System.Data.SQLite SQLite

  • Libraries

  • 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

  • AzureNetQ - An easy to use .NET API for Azure Service Bus.

  • Cimbalino Toolkit - A set of useful and powerful tools that will help you build your Windows Platform applications.

  • Coding4Fun Toolkit

  • ColoredConsole

  • Cricket - Actor library

  • DiffSharp Automatic Differentiation Library

  • DotNetOpenAuth - Library that adds support for your site visitors to login with their OpenIDs by just dropping an ASP.NET control onto your page.

  • EasyNetQ - An easy to use .NET API for RabbitMQ.

  • FeatureToggle - Simple, reliable feature toggles in .NET.

  • FluentBootstrap

  • FluentValidation - A small validation library for .NET that uses a fluent interface and lambda expressions for building validation rules.

  • GongSolutions.Wpf.DragDrop A drag'n'drop framework for WPF.

  • HudlFfmpeg - A/V transcoding framework that helps build complex FFmpeg commands.

  • ImageProcessor

  • Kentor.AuthServices A SAML2 Service Provider for .NET.

  • LibGit2Sharp

  • Lucene.Net

  • MahApps.Metro - A toolkit for creating metro-style WPF applications.

  • Math.NET Numerics Provides methods and algorithms for numerical computations in science, engineering and every day use.

  • Mjolnir - Hystrix-inspired fault tolerance with circuit breakers and thread pools.

  • NetTopologySuite A .NET port of the JTS Topology Suite.

  • JSON.NET - Popular high-performance JSON framework for .NET

  • NodaTime - A better date and time API for .NET

  • OsmSharp Mapping & Routing library.

  • PocketSharp

  • RestSharp - Simple REST and HTTP API Client for .NET

  • RestBus - Easy Asynchronous Messaging and Queueing for .NET

  • SharpDX - SharpDX is a project delivering the full DirectX API for .NET on all Windows platforms.

  • SharpMap An easy-to-use mapping library for use in web and desktop applications

  • Splat - A library to make things cross-platform that should be.

  • WpfToolkit - Fork of the MS WPF Toolkit

  • Model-View-ViewModel (MVVM) Frameworks

  • Caliburn Micro

  • Catel.MVVM

  • MVVM Cross

  • MVVM Light Toolkit

  • Radical

  • ReactiveUI

  • Simple Mvvm Toolkit

  • Tools

  • Fody - Extensible tool for weaving .NET assemblies.

  • FAKE Build automation system with capabilities which are similar to make and rake.

  • FsEye A visual object tree inspector for the F# Interactive.

  • FsPickler Serialization library that facilitates the distribution of .NET objects.

  • FsharpLint Lint tool for F#.

  • 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 and Ruby.

  • 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.

  • Protobuf-net - A .NET implementation of protobuf, allowing you to serialize your .NET objects efficiently and easily.

  • 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

  • Vagrant Automated dependency resolution and dynamic assembly compilation framework.

  • Testing

  • canopy A web testing framework.

  • FakeItEasy

  • FsCheck A tool for testing .NET programs automatically.

  • moq - The most popular and friendly mocking framework for .NET

  • NSubstitute - A friendly substitute for .NET mocking frameworks.

  • NUnit - NUnit is a unit-testing framework for all .NET languages.

  • tickspec A lightweight Behaviour Driven Development (BDD) framework.

  • xUnit - xUnit.net is a community-focused unit testing tool for the .NET Framework.

  • Dependency Injection

  • Autofac - Autofac is an addictive Inversion of Control container for .NET 4.5, Silverlight 5, Windows Store apps, and Windows Phone 8 apps.

  • 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.

  • 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 containter. 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 - LightCore is 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!)

  • 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

  • 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 (DI) 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.

  • 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.

  • Castle Project/Windsor - IOC / Proxy

  • IOC Comparison - IoC Container Benchmark - Performance comparison

  • Data Access

  • Dapper - Dapper is a single file you can drop in to your project that will extend your IDbConnection interface.

  • 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.

  • StackExchange.Redis

  • SQL LocalDB Wrapper

  • Games

  • MonoGame - One framework for creating powerful cross-platform games.

  • Paradox - Paradox is a versatile and engaging game engine.

  • OpenRA - An open-source implementation of the Command & Conquer: Red Alert engine using .NET/Mono and OpenGL.

  • UI and Control libraries

  • Callisto - UI Control Toolkit for WinRT apps

  • Eto - Cross platform GUI Toolkit for desktop and mobile apps

  • Mono XWT - A cross-platform UI toolkit for creating desktop apps

  • Windows Services

  • TopShelf

  • Scheduling

  • Quartz.Net

  • Consumer projects

  • .NET open source consumer projects list

This list is just a starting point - also take a look at all the projects on CodePlex and on GitHub Trending C#.

Thanks to @slodge for providing the initial list.

@quozd hosts an Awesome .NET! list. Also worth checking out.