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.
-
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
-
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.
-
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.
-
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.
-
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.
-
Kentor.AuthServices A SAML2 Service Provider for .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.
-
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
-
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
-
Vagrant Automated dependency resolution and dynamic assembly compilation framework.
-
Testing
-
canopy A web testing framework.
-
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.
-
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
-
Scheduling
-
Consumer projects
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.