awesome-csharp
A collection of awesome c# libraries, tools, frameworks, and software.
https://github.com/danperor/awesome-csharp
Last synced: 17 days ago
JSON representation
-
SDK and API Clients
- Octokit.NET - A GitHub API client library for .NET
- Dropbox.NET - Official .NET SDK for the Dropbox API
- Getty Images API SDK - SDK for the Getty Images and iStock APIs
- Countly SDK for Windows - Windows SDK for Countly analytics and marketing platform for product and marketing managers
-
Search
- Lucene.net - Lucene.Net is a port of the Lucene search engine library, written in C# and targeted at .NET runtime users
- Elasticsearch .NET - Elasticsearch.Net & NEST
- PlainElastic.Net - Plain .NET client for ElasticSearch
- SolrNet - Solr client for .NET
- SolrExpress - A simple and lightweight query .NET library for Solr, in a controlled, buildable and fail fast way
-
Serialization
- Ceras - Ceras is a binary serializer. It converts any object into a byte[] and back. It goes above and beyond in terms of features, speed, and comfort. Supports reference loops, large/complicated inheritance chains, splitting objects into parts and more.
- CsvExport - Very simple & lightweight CSV exporter, Excel friendly, escapes text & quotes etc.
- 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)
- ProtoBuf - Generate C# code for protocol buffer serialization from a .proto specification.
- FlatSharp - Fast, idiomatic FlatBuffers implementation. Use .fbs files or attributes.
- F# Data - F# type providers for accessing XML, JSON, CSV and HTML files (based on sample documents) and for accessing WorldBank data
- Bond - cross-platform framework for working with schematized data. It supports cross-language de/serialization and powerful generic mechanisms for efficiently manipulating data.
- Hyperion - A high performance polymorphic serializer for the .NET framework.
- FileHelpers - free and easy to use .NET library to import or export data from fixed length or delimited records in files, strings or streams.
- FsPickler - A fast multi-format message serializer for .NET
- Migrant - Fast and flexible serialization framework usable on undecorated classes.
- Utf8Json - Fast and Zero Allocation JSON Serializer for C#(.NET, .NET Core, Unity and Xamarin), this serializer write/read directly to UTF8 binary so boostup performance.
- ObjectDumper.NET - Serializes in-memory object to C# code.
-
SMS and Phone calls
- Twilio-csharp - A C#/.NET Library for sending and receiving phone calls and text messages with Twilio.
-
Source Generator
- Awesome .NET Core - A collection of awesome .NET core libraries, tools, frameworks and software
- awesome-ddd - A curated list of Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), Event Sourcing, and Event Storming resources
- Awesome Unity - A categorized community-driven collection of high-quality awesome Unity assets, projects, and resources.
- Awesome Xamarin - A collection of interesting libraries/tools for Xamarin mobile projects.
- Awesome Roslyn - A curated list of awesome Roslyn books, tutorials, open source projects, analyzers, code fixes, and refactorings.
- Weekly C# Digest - Weekly email newsletter with manually curated top 5 links from the .NET community.
- Supernova.Enum.Generators - A C# source generator to create an enumeration class from an enum type. With this package, you can work on enums very, very fast without using reflection.
- .NET-libraries-that-make-your-life-easier - Open Source .NET libraries that make your life easier
- awesome-LINQ - A curated collection of awesome LINQ libraries, tools, and more.
- awesome-analyzers - A curated list of .NET Compiler Platform ("Roslyn") diagnostic analyzers and code fixes.
- ASP.NET Core Library and Framework Support - A list of what .NET libraries and frameworks are currently supported by ASP.NET Core and .NET Core).
- Awesome .NET Performance - A curated list of awesome .NET Performance books, courses, trainings, conference talks, blogs and most inspiring open source contributors.
- .NET Open Source Developer Projects - This community maintained list showcases .NET open source projects that are useful for any aspect of the development process.
- Discover .NET - Awesome .NET open source and community resources.
- Awesome Microservices .NET Core - A collection of awesome training series, articles, videos, books, courses, sample projects, and tools for Microservices in .NET Core.
-
State machines
- Stateless - Create state machines and lightweight state machine-based workflows directly in .NET code
- Automatonymous - A state machine library for .NET - allows you to write fluent style state machines
- LiquidState - Efficient asynchronous and synchronous state machines for .NET
-
Static Site Generators
- Wyam - A simple to use, highly modular, and extremely configurable static content generator
- FsBlog - Blog aware, static site generation using F#
- Pretzel - A site generation tool (and then some) for .NET platforms
- Sandra.Snow - Jekyll-inspired static site generation for .NET
- FsBlog - Blog aware, static site generation using F#
-
Strong Naming
- Strong Namer - Automatically add strong names to referenced assemblies which do not already have a strong name. This will allow you to reference and use (NuGet packages with) assemblies which are not strong named from your projects that do use a strong name.
- .NET Assembly Strong-Name Signer - Utility software to strong-name sign .NET assemblies, including assemblies you do not have the source code for.
-
Style Guide
- C# Style Guide - StackOverflow Q & A on style guides
- C# Async Guidance - list of problematic asynchronous patterns for .NET Core with an explanation of how to solve those issues
-
Template Engine
- RazorEngine - Open source templating engine based on Microsoft's Razor parsing engine
- RazorLight - Open source template engine based on Microsoft's Razor parsing engine supporting .NET Standard 2.0
- Nustache - Open source library for logic-less templates
- Stubble - Trimmed down {{mustache}} templates in .NET. Successor of Nustache.
- DotLiquid - C# port of the Ruby Liquid templating language
- Mustache Sharp - An extension of the mustache text template engine for .NET.
- Morestachio - A full sized {{mustache}} like template engine with focus on extendibility.
-
Testing
- BDTest - A behaviour driven testing and reporting framework!
- NCrunch - An automated continuous & concurrent testing tool for Visual Studio. **[$]**
- NSubstitute - A friendly substitute for .NET mocking frameworks
- ArchUnitNET - Simple library for checking the architecture of C# code with a fluent API.
- NetArchTest - A fluent API for .Net Standard that can enforce architectural rules in unit tests.
- AutoFixture - AutoFixture is an open source framework for .NET designed to minimize the 'Arrange' phase of your unit tests
- BDDfy - BDDfy is the simplest BDD framework EVER!
- Bogus - A simple and sane fake data generator for C#. Based on and ported from the famed faker.js.
- ExpressionToCode - Use plain C# syntax in assertions that include both the expression expression and subexpression values in the failure message.
- FakeItEasy - The easy mocking library for .NET https://fakeiteasy.github.io
- 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
- FluentAutomation - Simple Fluent API for UI Automation
- FsCheck - Random Testing for .NET.
- Fuchu - A unit-testing library for F# with tests-as-values which makes DSLs extremely easy to create.
- Machine.Specifications - Machine.Specifications (MSpec) is a context/specification framework that removes language noise and simplifies tests.
- Moq.Contrib.HttpClient - A set of extension methods for mocking HttpClient and IHttpClientFactory with Moq.
- NBomber - Very simple load testing framework for Pull and Push scenarios. It's 100% written in F# and targeting .NET Core and full .NET Framework.
- NFluent - NFluent is an assertion library which aims to fluent your .NET TDD experience.
- NUnit - A unit-testing framework for all .NET languages
- Rhino Mocks - Dynamic Mocking Framework for .NET
- Shouldly - Shouldly is an assertion framework which focuses on giving great error messages when the assertion fails while being simple and terse.
- Snapshooter - A snapshot testing tool for .NET Core and .NET Framework
- SpecFlow - Binding business requirements to .Net code
- Stryker.NET - Mutation testing for .NET Core projects
- xUnit.net - A free, open source, community-focused unit testing tool for the .NET Framework.
- Canopy - Canopy is a free, open source F# web automation and testing framework
- Expecto - A smooth testing framework for F# with tests as values. Unit testing, property based testing, performance testing and stress testing.
- Compare-Net-Objects - Perform a deep compare of any two .NET objects using reflection. Shows the differences between the two objects.
- Verify - Verification tool to enable simple approval of complex models and documents.
- CsCheck - Random testing library for C#. Including concurrency, causal profiling, regression and performance testing.
- NBuilder - Rapid generation of test objects
- Moq - The most popular and friendly mocking framework for .NET
- xBehave.net - An xUnit.net extension for describing your tests using natural language.
- ReportPortal - AI-powered Test Automation Dashboard. Acquire, aggregate and analyze test reports to ascertain release health.
-
Tools
- Fiddler - The free web debugging proxy for any browser, system or platform
- AnyStatus - A desktop notifications app for monitoring CI/CD pipelines, servers, network, health and metrics. AnyStatus supports Azure DevOps, Jenkins, TeamCity, AppVeyor and more.
- JSON Formatter and Validator - A blazing fast JSON formatter and validator that won't share JSON with a server.
- Downloader - Fast and reliable multipart downloader with asynchronous progress events for .NET applications.
- Open Live Writer - Blog writer which integrated with WordPress, Blogger, et. al. Open Live Writer makes it easy to write, preview, and post to your blog.
- CodeHub - CodeHub is the best way to browse and maintain your GitHub repositories on any iOS device!
- ShareX - ShareX is a free and open source program that lets you capture or record any area of your screen and share it with a single press of a key. It also allows uploading images, text or other types of files to over 80 supported destinations you can choose from.
- Myrtille - A native HTML4/5 Remote Desktop Protocol client, HTTP gateway written in C# for .NET
- Opserver - Stack Exchange's Monitoring System
- Netling - A load tester client for easy web testing. It is extremely fast while using little CPU or memory.
- Papercut - Papercut is an open source (.NET based) test email viewer that runs locally with a built-in SMTP server designed to receive and notify of test email messages.
- Visual Studio Uninstaller - Uninstall and clean up all components of Visual Studio.
- Fake JSON Server - Fake REST API for prototyping or as a CRUD Back End. No need to define types, uses dynamic typing. Data is stored to a single JSON file. Has authentication, WebSocket notifications, async long running operations, random generation for errors/delays and experimental GraphQL support.
- posh-dotnet - `PowerShell` tab completion for the [dotnet CLI](https://github.com/dotnet/cli)
- SmartCode - SmartCode = IDataSource -> IBuildTask -> IOutput => Build Everything!!! (Including [**Code generator**])
- NETworkManager - A powerful tool for managing networks and troubleshoot network problems!
- OctoLinker - Navigate through `project.json`, `packages.config`, `*.props`, `*.targets`, and C#/F#/VB.NET project files efficiently with the OctoLinker browser extension for GitHub.
- CSharpier - An opinionated code formatter for c# that is based on the [Prettier](https://github.com/prettier/prettier) printing process.
- UnitsNet - Makes life working with units of measurement just a little bit better.
- YARP - YARP is a reverse proxy toolkit for building fast proxy servers in .NET using the infrastructure from ASP.NET and .NET.
- Mockaco - API mock server with fast setup, useful to simulate HTTP responses, leveraging ASP.NET Core features, built-in fake data generation and C# scripting engine powered by Roslyn scripting API.
-
Trading
- Lean - Lean Engine is an open-source fully managed C# algorithmic trading engine built for desktop and cloud usage. https://www.quantconnect.com/lean/
- StockSharp - Trading and algorithmic trading open source platform (stock markets, forex, bitcoins and options). https://stocksharp.com
-
UI Automation
- Atata - Automated web testing full featured framework based on Selenium WebDriver.
- FlaUI - FlaUI is a .NET library which helps with automated UI testing of Windows applications (Win32, WinForms, WPF, Store Apps, ...).
- PuppeteerSharp - Puppeteer Sharp is a .NET port of the official Node.JS Puppeteer API.
- PuppeteerSharp.Contrib - Contributions to Puppeteer Sharp that provides a convenient way to write readable and robust browser tests.
- Managed Windows API - Introspect and automate third-party Windows / VC++ applications without needing its source code.
-
Visual Studio Plugins
- Nuget Package Manager - NuGet is the package manager for the Microsoft development platform including .NET
- Resharper - Developer Productivity Tool for Visual Studio **[$]**
- Productivity Power Tools - A set of extensions to Visual Studio Professional (and above) which improves developer productivity.
- Tabs Studio - Visual Studio tab manager with multiple tab rows, tab coloring and tab grouping. **[$]**
- VSColorOutput - Color highlighting for Build, Find and Debug output windows. Custom match patterns and colors can be added.
- CodeLineage - Easy access to a cumulative diff view between file revisions (supports svn, git, mercurial, perforce).
- OzCode - OzCode is a Visual Studio Extension which cuts down on debugging time and increases productivity by detecting and isolating bugs, making them easy to fix. **[$]**
- ViEmu - very powerful Vi/vim emulator for Visual Studio supporting all basic and many advanced features of vi/vim. **[$]**
- 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
- SideWaffle - A collection of Item Templates for Visual Studio 2012/2013/2015 that makes any web developer's life much easier
- CodeContracts - Source code for the CodeContracts tools for .NET
- Git Diff Margin - Displays live Git changes of the currently edited file on Visual Studio margin and scroll bar
- ViEmu - very powerful Vi/vim emulator for Visual Studio supporting all basic and many advanced features of vi/vim. **[$]**
- Unchase.Odata.Connectedservice - A Visual Studio Connected Service for generating API client code in C# or VB for OData web service.
- Unchase.OpenAPI.Connectedservice - A Visual Studio 2017/2019 extension to generate C# (TypeScript) HttpClient (or C# Controllers) code for OpenAPI web service with [NSwag](https://github.com/RicoSuter/NSwag).
-
Web Browsers
- CefSharp - HTML5, CSS3 and JS web browser powered by Chromium, for WinForms and WPF
-
Web Frameworks
- Coalesce - Coalesce is a framework for rapid-development of ASP.NET Core web applications.
- Suave.IO - Framework/library/web server that makes you cry tears of joy after finishing your project ahead-of-time when you look at the beautiful code you've written in F#.
- ASP.NET MVC - ASP.NET is a free web framework for building great web sites and applications
- FubuMVC - A front-controller style MVC framework for .NET
- IISNode - Host Node.js applications in IIS
- DotVVM - MVVM framework for people who don't like to write JavaScript, with OWIN and ASP.NET Core support and a free extension for Visual Studio 2015 and 2017.
- Giraffe - Functional (F#) ASP.NET Core micro framework for building rich web applications
-
Web Servers
-
WebSocket
- Crossertech - Provides a great set of tools for you to build real-time applications on the Microsoft.NET plattform and much more. **[$]**
- Fleck - Fleck is a WebSocket server implementation in C#. Branched from the Nugget project
- SignalR - Library for ASP.NET developers that makes it incredibly simple to add real-time web functionality to your applications
- SuperSocket - SuperSocket is a light weight extensible socket application framework
- Websocket-Sharp - A C# implementation of the WebSocket protocol client and server
- WampSharp - A C# implementation of [The Web Application Messaging Protocol](https://wamp-proto.org/) - a protocol that provides messaging patterns of Remote Procedure Calls and Publish/Subscribe over WebSockets.
- NetGain - A high performance WebSocket server library powering Stack Overflow.
- Websockets.PCL - WebSockets.PCL is a portable class library, profile 259, C# WebSocket implementation.
- Websocket.Client - A multiplatform wrapper over native C# class ClientWebSocket with built-in reconnection and error handling.
- WebSocket4NET - WebSocket client for .NET 2.0+, Xamarin, Mono, Silverlight, Windows Phone, & WinRT
-
Windows Services
- TopShelf - An easy service hosting framework for building Windows services using .NET
-
WPF
- Extended WPF Toolkit™ - A rich collection of controls, components and utilities for creating WPF applications
- WPF - WPF is a .NET Core UI framework for building Windows desktop applications.
- Data Grid Extensions - Modular extensions for the WPF DataGrid control, like filtering, additional column events, extended star-size column behavior, and more...
Programming Languages
Categories
Books
311
Application Frameworks
67
Misc
39
GUI
35
Testing
34
ORM
24
CLI
22
Tools
21
Compilers, Transpilers and Languages
20
MVVM
17
Serialization
17
Queue
16
Visual Studio Plugins
16
Logging
16
Machine Learning and Data Science
16
Source Generator
15
Database
15
Image Processing
15
API
14
Game
13
IoC
13
Mathematics
12
Office
12
Graphics
12
Git Tools
11
Database Drivers
11
CMS
10
E-Commerce and Payments
10
Code Analysis and Metrics
10
IDE
10
WebSocket
10
PDF
9
HTTP
9
Cryptography
9
Authentication and Authorization
9
Application Templates
8
Interoperability
8
Distributed Computing
8
Build Automation
8
GIS
8
SDK and API Clients
8
Scheduling
8
Caching
8
Web Frameworks
7
Functional programming
7
Template Engine
7
Media
7
Documentation
6
HTML and CSS
6
Protocols
6
Event aggregator and messenger
6
JavaScript Engines
5
RPC
5
Object to object mapping
5
Mail
5
Assets
5
Install tools
5
Compression
5
Static Site Generators
5
GraphQL
5
Blazor
5
Parser Library
5
Search
5
UI Automation
5
Decompilation
4
Algorithms and Data structures
4
Deployment
4
Package Management
4
Internationalization
3
Reactive Programming
3
Profiler
3
Datetime
3
Assembly Manipulation
3
Minification
3
State machines
3
WPF
3
Markdown Processors
3
Continuous Integration
3
Networking
2
Extensions
2
Business Intelligence
2
Calendar
2
Web Servers
2
Style Guide
2
Artificial Intelligence
2
Code Snippets
2
Trading
2
Strong Naming
2
ETL
2
Regular Expression
1
CLR
1
Blockchain
1
Web Browsers
1
Metrics
1
Windows Services
1
SMS and Phone calls
1
DirectX
1
DLR
1
Interactive programming
1
Environment Management
1
Push Notifications
1
Exceptions
1
Micro Framework
1
Sub Categories
Keywords
dotnet
162
c-sharp
108
csharp
95
dotnet-core
75
dotnetcore
25
wpf
22
nuget
19
xamarin
19
asp-net-core
19
database
19
netcore
16
fsharp
15
framework
15
netstandard
15
cross-platform
14
dotnet-standard
14
windows
14
aspnetcore
13
mono
13
asp-net
13
json
12
uwp
11
xaml
11
orm
11
mvvm
11
testing
11
parser
11
library
10
aspnet
10
xml
9
cache
9
command-line
9
git
8
powershell
8
blazor
8
game-development
8
visual-studio
8
microsoft
8
html
7
graphics
7
postgresql
7
http
7
high-performance
7
dotnet-framework
7
sql
7
caching
7
graphql
7
performance
7
xamarin-forms
7
redis
6