Skip to content

Latest commit

 

History

History
272 lines (244 loc) · 30.9 KB

dotnet-developer-projects.md

File metadata and controls

272 lines (244 loc) · 30.9 KB

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

  • .NET Core - Core .NET Framework

  • C# Native - Compiles C# to native.

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

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

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

  • Languages

  • Boo - A .NET language similar to Python but with static typing, and many meta-programming capabilities.

  • ClojureCLR - A .NET implemention 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.

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

  • Security / Identity Management

  • Thinktecture IdentityManager

  • Thinktecture IdentityServer

  • SKGL - Serial Key Generating Library

  • Web CMS

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

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

  • 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

  • Firebird .NET client - Firebird

  • Npgsql - PostgreSQL

  • System.Data.SQLite - SQLite

  • Libraries

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

  • AsyncCollections - A set of lock-free thread-safe collections designed to be used asynchronously.

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

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

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

  • Coding4Fun Toolkit

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

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

  • DropboxRestAPI - DropBox .Net Client Library

  • DynamicData - Brings the power of Rx to collections

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

  • ExtraLINQ - Various extension methods for working with .NET collections.

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

  • FluentBootstrap

  • FluentConsole - Alternative approach to colored console (FluentConsole.Red.Text().Green.Text()).

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

  • GeckoFX - Mozilla's Gecko layout engine wrapper in .NET.

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

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

  • Mathos Core Libary - A library with algorithms for numerical calcultations 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.

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

  • NHunspell - Spell Checker, Hyphenation an Theasaurus

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

  • OneDriveRestAPI - OneDrive .Net Client Library using the REST API.

  • OsmSharp - Mapping & Routing library.

  • PocketSharp

  • PortableRest - Portable library for building cross-platform REST API Clients for .NET and Xamarin.

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

  • RestBus - Easy Asynchronous Messaging and Queueing for .NET

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

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

  • SSH.NET - A client-side library for SSH, SCP and SFTP.

  • SuperSocket - An extensible socket server engine which supports .NET and Mono

  • WebApiProxy - An automatic proxy provider for RESTful services built on ASP.NET Web API. Includes JavaScript & C# client generation.

  • WebSocket4Net - A C# websocket client for .NET, Mono and Xamarin

  • WpfToolkit - Fork of the MS WPF Toolkit

  • XamlEssentials - Collection of helpers for Microsoft's XAML platforms.

  • Zlib.Portable - A Portable Class Library port of the Zlib library from http://dotnetzip.codeplex.com.

  • Graphics & Server-side Image Processing

  • 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 .NET Library For On-The-Fly Processing Of Images (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.

  • King.Azure.Imaging - Scalable image uploading and processing for Azure.

  • MonoGame - MonoGame is a cross-platform, open-source implementation of the XNA Game Framework.

  • .NET Image Processor - Extensible, chainable image processing library (GDI+ based).

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

  • Logging

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

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

  • log4net - A tool to help the programmer output log statements to a variety of output targets.

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

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

  • WPF Application Framework (WAF) - A lightweight Framework that helps you to create well structured WPF Applications. It supports you in applying a Layered Architecture and the Model-View-ViewModel pattern.

  • Tools

  • Cake (C# Make) - A build automation system with C#/Roslyn driven build scripts.

  • CppSharp - C/C++ bindings generation for .NET.

  • CInject - A tool to inject your C#/VB.NET code into existing .NET assemblies and executables

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

  • Fody - Extensible tool for weaving .NET assemblies.

  • Crawler-Lib Build Tools - A PowerShell based toolbox for automating the software build process, autmated testing and integration.

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

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

  • Obfuscar - MSIL obfuscation utility for .NET assemblies.

  • Outcomes.Net - Fluent wrapper that eliminates plumbing code around failure-prone functions.

  • Paket - Dependency manager for .NET and Mono projmects, 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.

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

  • Testing

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

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

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

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

  • Castle Windsor - A mature Inversion of Control container available for .NET and Silverlight

  • DI Feature Tests - Tests that track commmon 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.

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

  • Data Access

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

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

  • King.Mapper - High performance model mapping.

  • linq2db - Lightweight ORM and LINQ provider with support for various databases including MS SQL, PostgreSQL, Oracle and MySQL

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

  • StackExchange.Redis

  • SQL LocalDB Wrapper - SQL LocalDB Wrapper is an assembly providing interop with the SQL LocalDB native API from managed code using .NET APIs.

  • LINQ2DynamoDB - A type-safe data context for AWS DynamoDB with LINQ, in-memory caching and OData support.

  • Games

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

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

  • WaveEngine - A powerful component based game engine for desktop and mobile platforms using C#.

  • UI and Control libraries

  • 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

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

  • Windows Services

  • King.Service - Task scheduling for Azure and Windows

  • TopShelf - An easy service hosting framework for building Windows services using .NET.

  • Scheduling

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

  • Deployment

  • 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

  • Service Bus

    • 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

    • Dache - An open source distributed caching service, built on .NET 4.0 and using TCP sockets for communication.
  • Windows Workflow

  • Workflow Extractor - Document Windows Workflow logic into a Word document or Excel sheet.

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

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

Thanks to @slodge for providing the initial list.