/awesome-dotnet

A collection of awesome .NET libraries, tools, frameworks and software

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.

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.

API

  • Frameworks

    • ASP.NET WebAPI - Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
    • ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
  • 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.

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 NodeJS compilers
  • 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
  • Thinktecture IdentityModel - Helper library for identity & access control in .NET 4.5 and MVC4/Web API.
  • OAuth - A very lightweight library for generating OAuth 1.0a signatures written in C#

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.

Caching

  • CacheCow - An ASP.NET Web API HTTP caching implementation both on client and server

CLI

  • 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

CMS

  • Umbraco - Umbraco is a free open source Content Management System built on the ASP.NET platform
  • Composite C1 - A web CMS that focus on UX and adaptability
  • Orchard - Free, open source, community-focused project aimed at delivering applications and reusable components on the ASP.NET platform
  • mojoPortal - MojoPortal is an extensible, cross database, mobile friendly, web content management system (CMS) and web application framework written in C# ASP.NET

Code Analysis and Metrics

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

##Continuous Integration

  • TeamCity - Ready to work, extensible and developer-friendly build server — out of the box

Cryptography

  • HashLib - HashLib is a collection of nearly all hash algorithms you've ever seen, it supports almost everything and is very easy to use

Database

  • BrightstarDb - BrightstarDB is a native .NET RDF triple store

Database Drivers

DirectX

  • SlimDX - DirectX framework wrapper for .NET applications

Documentation

  • Sandcastle - Sandcastle Help File Builder similar to NDoc
  • SharpDox - A c# documentation tool

E-Commerce and Payments

Environment Management

##Git Tools

  • LibGit2Sharp - LibGit2Sharp brings all the might and speed of libgit2, a native Git implementation, to the managed world of .Net and Mono.

Graphics

  • Oxyplot - OxyPlot is a cross-platform plotting library for .NET

GUI

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

##HTTP

  • RestSharp - Simple REST and HTTP API Client for .NET
  • EasyHttp - Http Library for C#

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.

Image Processing

  • ImageResizer - Add commands to image URLs to get altered versions in milliseconds. Resizing, editing etc of images in real-time.

Install tools

  • Wix Toolset - The most powerful set of tools available to create your Windows installation experience

Internationalization

  • i18n - Smart internationalization for ASP.NET MVC

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

Logging

  • Essential Diagnostics - Extends the inbuilt features of System.Diagnostics namespace to provide flexible logging
  • NLog - NLog - Advanced .NET and Silverlight Logging
  • ELMAH - Official ELMAH site
  • Elmah MVC - Elmah for MVC
  • 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

##Markdown Processors

  • MarkdownSharp - Open source C# implementation of Markdown processor, as featured on Stack Overflow.

Mail

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

Metrics

Misc

  • AzureCrawler - Take HTML Snapshots for your Angular, Ember, Durandal or any JavaScript applications
  • 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.
  • .NET Fiddle - Write, compile and run C# code in the browser. The C# equivalent of JSFiddle.
  • Humanizer - Humanizer meets all your .NET needs for manipulating and displaying strings, enums, dates, times, timespans, numbers and quantities
  • ScriptCS - Write C# apps with a text editor, nuget and the power of Roslyn!
  • Mono.Cecil - Cecil is a library to generate and inspect programs and libraries in the ECMA CIL form.

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

Office

  • ClosedXML - ClosedXML makes it easier for developers to create Excel 2007/2010 files

ORM

  • Entity Framework - Object-relational mapper that enables .NET developers to work with relational data using domain-specific objects
  • BL Toolkit - Business Logic Toolkit for .NET
  • Dapper
  • Dapper Extensions - Small library that complements Dapper by adding basic CRUD operations (Get, Insert, Update, Delete) for your POCOs
  • NHibernate - NHibernate Object Relational Mapper
  • FluentMigrator - Fluent Migrations framework for .net
  • ServiceStack.OrmLite - Light, simple and fast convention-based POCO ORM
  • Massive - A small, happy, data access tool that will love you forever.

Package Management

  • NuGet - THE .NET Package Manager
  • OpenWrap - OpenWrap Package Manager

PDF

  • ITextSharp - iText is a PDF library that allows you to CREATE, ADAPT, INSPECT and MAINTAIN documents in the Portable Document Format (PDF)

Profiler

  • MiniProfiler - A simple but effective mini-profiler for ASP.NET websites
  • Glimpse - The open source diagnostics platform for the web

Queue

  • NServiceBus - The most popular service bus for .NET
  • 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.

Scheduling

  • QuartzNet - Quartz Enterprise Scheduler .NET

SDK and API Clients

  • AWS SDK - The AWS SDK for .NET enables .NET developers to easily work with Amazon Web Services
  • Azure SDK Tools - 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

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)

Style Guide

Template Engine

  • RazorEngine - Open source templating engine based on Microsoft's Razor parsing engine

Testing

  • NUnit
  • xUnit - xUnit.net is a free, open source, community-focused unit testing tool for the .NET Framework
  • SpecFlow - Binding business requirements to .Net code
  • AutoFixture - AutoFixture is an open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests
  • Moq - The most popular and friendly mocking framework for .NET
  • Machine.Specifications - Machine.Specifications (MSpec) is a context/specification framework that removes language noise and simplifies tests.
  • Rhino Mocks - Dynamic Mocking Framework for .NET
  • 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

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 (Commercial)

Web Frameworks

  • ASP.NET MVC - ASP.NET is a free web framework for building great web sites and applications
  • NancyFx - Lightweight, low-ceremony, framework for building HTTP based services on .Net and Mono
  • IISNode - Host NodeJS applications in IIS

Web Servers

  • EmbedIO - Web server built on Mono and cross-platform

WebSocket

  • SignalR - Library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications
  • Fleck - Fleck is a WebSocket server implementation in C#. Branched from the Nugget project
  • Websocket-Sharp - A C# implementation of the WebSocket protocol client and server
  • XSockets - Provides a great set of tools for you to build real-time applications on the Microsoft.NET plattform and much more

Windows Services

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

Other Awesome Lists

Other amazingly awesome lists can be found in the awesome-awesomeness list.