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. We accept proprietary and commercial software too.
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.
License
To the extent possible under law, Vitali Fokin has waived all copyright and related or neighboring rights to this work.
Table of Contents
- Awesome DotNet
- Algorithms and Data Structures
- API
- Application Frameworks
- Application Templates
- Artificial Intelligence
- Assembly Manipulation
- Assets
- Authentication and Authorization
- Blazor
- Build Automation
- Business Intelligence and Reporting
- Caching
- Calendar
- Chat
- CLI
- CLR
- CMS
- Code Analysis and Metrics
- Code Snippets
- Compilers, Transpilers and Languages
- Compression
- Continuous Integration
- Cryptography
- Cloud Storage
- Database
- Database Drivers
- DateTime
- Decompilation
- Deployment
- DirectX
- Distributed Computing
- DLR
- Documentation
- E-Commerce and Payments
- Emulators
- Environment Management
- ETL
- Event aggregator and messenger
- Exceptions
- Extensions libraries
- Feature Management
- Functional programming
- Game
- GIS
- Git Tools
- Graphics
- GraphQL
- GUI
- HTML and CSS
- HTTP
- IDE
- Image Processing
- Install Tools
- Internationalization
- Interoperability
- IoC
- JavaScript Engines
- Logging
- Machine Learning and Data Science
- Markdown Processors
- Mathematics
- Media
- Metrics
- Micro Framework
- Minification
- Misc
- MQTT
- MVVM
- Networking
- Object to object mapping
- Office
- OpenAI
- ORM
- Package Management
- Profiler
- Protocols
- Push Notifications
- Query Builders
- Queue
- RPC
- Reactive Programming
- Real-time Communications
- Regular Expression
- Scheduling
- SDK and API Clients
- Search
- Serialization
- SMS and Phone Calls
- State machines
- Static Site Generators
- Strong Naming
- Style Guide
- Template Engine
- Testing
- Tools
- Trading
- UI Automation
- Visual Studio Plugins
- Web Browsers
- Web Frameworks
- Web Servers
- WebSocket
- Windows Services
- WPF
- Parser Library
- Source Generator
- Other Lists
- Resources
Algorithms and Data structures
- Algorithmia - Algorithm and data-structure library for .NET 3.5 and up. Algorithmia contains sophisticated algorithms and data-structures like graphs, priority queues, command, undo-redo and more.
- C# Algorithms - A C# plug-and-play class-library project of standard Data Structures and Algorithms. It contains 35+ Data Structures and 30+ Algorithms designed as Object-Oriented isolated components.
- Towel - data structures, algorithms, mathematics, metadata, extensions, console, measurements, and other useful stuff
- Akade.IndexedSet - A convenient data structure supporting efficient in-memory indexing and querying, including range queries and fuzzy string matching.
API
- FastEndpoints - High-performance middleground between classic ASP.NET Core API controllers and Minimal APIs. Using a REPR (Request-Endpoint-Response) pattern, this library eliminates the boilerplate and monolithic feel of controllers by improving colocation of code.
- Telegram.Bot - .NET Client for Telegram Bot API
- TLSharp - It's a perfect fit for any developer who would like to send data directly to Telegram users or write own custom Telegram client.
- WTelegramClient - Automate a user account on Telegram, using the latest version of Telegram Client API
- NancyFx - Lightweight, low-ceremony, framework for building HTTP-based services on .NET and Mono
- ASP.NET Web API - Framework that makes it easy to build HTTP services that reach a broad range of clients, including browsers and mobile devices
- Breeze - API framework enabling rich data access by using the OData 3 protocol. Client libraries available for JavaScript and C#.
- Mobius: C# API for Spark - Mobius adds C# language binding to Apache Spark, enabling the implementation of Spark driver code and data processing operations in C#.
- ServiceStack - Thoughtfully architected, obscenely fast, thoroughly enjoyable web services for all
- Nelibur - Nelibur is message based web service framework on the pure WCF. Nelibur simplifies creating high-performance and message-based web services and you certainly have all the power of the WCF.
- WebAPI Contrib - Collection of open source projects to help improve your work with ASP.NET Web API
- Xamarin.Essentials - Xamarin.Essentials provides developers with cross-platform APIs for their mobile applications.
- FFImageLoading - Fast & Furious Image Loading - This Library to load images quickly & easily on Xamarin.iOS, Xamarin.Android, Xamarin.Forms, Xamarin.Mac / Xamarin.Tizen and Windows (UWP, WinRT)
- Ocelot - .NET core API Gateway
- CommandQuery - Command Query Separation for 🌐ASP.NET Core ⚡AWS Lambda ⚡Azure Functions ⚡Google Cloud Functions 🌐ASP.NET Web API 2
Application Frameworks
- .NET Boxed Framework - .NET Core Extensions and Helper NuGet packages
- ASP.NET Boilerplate - A starting point for new modern ASP.NET MVC web applications with best practices and most popular tools.
- ABP - The next generation of the ASP.NET Boilerplate web application framework.
- Orleans - Orleans is a framework that provides a straight-forward approach to building distributed high-scale computing applications, without the need to learn and apply complex concurrency or other scaling patterns
- Newbe.Claptrap - This is a set of server-side development frameworks with reactive, event sourcing and Actor pattern as basic theories. On top of this, developers can develop "distributed", "scale out", and "easy to test" application more simply.
- CoreFX - The corefx repo contains the library implementation (called "CoreFX") for .NET Core. It includes System.Collections, System.IO, System.Xml and many other components.
- CSLA .NET - business layer development framework https://cslanet.com/
- Mono - Open source ECMA CLI, C#, F#, VB and .NET implementation
- Mono-Addins - Mono.Addins is a generic framework for creating extensible applications, and for creating add-ins which extend those applications
- peasy - Peasy is a middle tier framework that offers an easy to use and flexible rules engine and was designed to address common challenges such as concurrency handling, transactional support, fault tolerance, threading, scalability, async and multiple client support, and easy testability, all without a huge learning curve!
- Plastic - Plastic provides encapsulation of things like Domain, Application Rules, Business Rules or Business Logic in Application. For this, Command pattern is used.
- Signals - Signals is a .NET5 based framework which focuses on increasing the quality and productivity within development teams by providing them with tools, aspects and processes.
- Spring.Net - Spring.NET is an open source application framework that makes building enterprise .NET applications easier
- DotNetty - DotNetty is a port of Netty, asynchronous event-driven network application framework for rapid development of maintainable high performance protocol servers & clients.
- AspectCore Framework - AspectCore Framework is an Aspect-Oriented Programming based cross platform framework for .NET Core and .NET Framework. Core support for aspect-interceptor,dependency injection integration , web applications , data validation , and more.
- HopFramework - HopFramework is a framework to create projects easily applying Domain Driven Design and a lot of patterns to delivery a better solution.
- Fusion - .NET Core and Blazor library that attempts to dramatically improve the way we implement real-time and high-load services by introducing a novel kind of "computed observables" - immutable, thread-safe, and most importantly, almost invisible for developers. Samples 1 Samples 2
- silky - The Silky framework is designed to help developers quickly build a microservice development framework through simple code and configuration under the .net platform.
Application Templates
- .NET Boxed Templates - .NET project templates with batteries included, providing the minimum amount of code required to get you going faster.
- ASP.NET Core Starter Kit - backend: .NET Core, EF Core, C#; frontend: Babel, Webpack, React, CSS Modules
- ProjectScaffold - A prototypical .NET solution recommended by the F# Foundation---includes file system setup, Paket for dependencies and FAKE for build/test automation. By default, build process also compiles documentation and generates NuGet packages.
- Serene - Serenity is an ASP.NET MVC application platform designed to simplify and shorten development of data-centric business applications with a service-based architecture. Serene is a starter template to build Serenity applications.
- Side-Waffle - Large collection of useful templates for Web and Desktop development.
- Template10 - Windows 10 templates with design patterns.
- Nucleus - Vue startup application template that uses ASP.NET Core API layered architecture at the back-end and JWT based authentication
- JHipster.NET JHipster blueprint for replace orginal SpringBoot Backend by asp.net core. The main goal generator of jhipster is showcases best practices of modern web development in java. So the goal of the project is to do the same in .net. The Frontend can be generated with angular or react and soon with blazor.
Artificial Intelligence
- AIMLBot (Program#) - A small, fast, standards-compliant yet easily customizable implementation of an AIML (Artificial Intelligence Markup Language) based chatter bot in C#.
- SIML - Synthetic Intelligence Markup Language, a next generation Chatbot & Digital Assistant Language.
- Mpt-Instruct-DotNet-S - LLM that can generate and explain C# code (and its C# wrapper to run on consumer CPU with 5GB ram+, contains Console and Blazor sample projects)
- LLamaSharp - C#/.NET Binding of llama.cpp, run LLaMA/GPT model using C# without having to compile lama.cpp.
Assembly Manipulation
- Fody - Extensible tool for weaving .NET assemblies.