Browse free open source C# Frameworks and projects below. Use the toggles on the left to filter open source C# Frameworks by OS, license, language, programming language, and project status.

  • $300 Free Credits to Build on Google Cloud Icon
    $300 Free Credits to Build on Google Cloud

    New customers can spin up VMs, build with AI, and query data at no cost.

    Put your $300 in credit toward real workloads, then keep building with free monthly usage for 20+ products. No commitment and no charge until you upgrade.
    Start Free
  • MongoDB Atlas runs apps anywhere Icon
    MongoDB Atlas runs apps anywhere

    Deploy in 115+ regions with the modern database for every enterprise.

    MongoDB Atlas gives you the freedom to build and run modern applications anywhere—across AWS, Azure, and Google Cloud. With global availability in over 115 regions, Atlas lets you deploy close to your users, meet compliance needs, and scale with confidence across any geography.
    Start Free
  • 1
    CppSharp

    CppSharp

    Tools and libraries to glue C/C++ APIs to high-level languages

    CppSharp is a tool and set of libraries that facilitates the usage of native C/C++ code with the .NET ecosystem. It consumes C/C++ header and library files and generates the necessary glue code to surface the native API as a managed API. Such an API can be used to consume an existing native library in your managed code or add managed scripting support to a native codebase. The supported target languages at present are C# and C++/CLI. It can also be used as a library to parse native code into a syntax tree with a rich declaration and type information model. Generates the glue binding code from a syntax tree of the native code. Provides APIs for parsing of C/C++ source code into a syntax tree. Mirrors the Clang's C/C++ AST and type system classes in C# APIs.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 2
    Discord.Net

    Discord.Net

    An unofficial .Net wrapper for the Discord API

    Discord.Net is an asynchronous, multi-platform .NET Library used to interface with the Discord API. Nightlies are builds of Discord.NET that are still in an experimental phase, and have not been released. These are not included in the main repository and are instead taken over by Discord.NET Labs. Discord.NET Labs is an experimental fork of Discord.NET that implements the newest discord features for testing and development to eventually get merged into Discord.NET. A counterpart to the well-known command service of Discord.Net, the Interaction Framework implements the same feature-rich structure to register & handle interactions like application commands & buttons. Slash commands are purposed to take over the normal prefixed commands in Discord and come with good functionality to serve as a replacement. Being interactions, they are handled as SocketInteractions. Components of a message such as buttons and dropdowns, which can be interacted with and responded to.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 3
    DotVVM

    DotVVM

    Open source MVVM framework for Web Apps

    DotVVM is an open-source framework for ASP.NET. It lets you create web apps using the MVVM pattern, with just C# and HTML. DotVVM can be used to build new ASP.NET Core web apps, or to modernize legacy ASP.NET apps and migrate them to .NET 5. Save your time with GridView, FileUpload and other components shipped with the framework. Don't spend the time building an API. Just load data from the database and use data-binding to display them. DotVVM needs less than 100 kB of JavaScript code. It's smaller than other ASP.NET-based frameworks. DotVVM offers a free Visual Studio extension giving you all the comfort you are used to. DotVVM comes with ready-made components you can use in your HTML files. The state and user interactions are handled in view models - C# classes. The controls render simple HTML which can be styled easily. MVVM pattern and data-binding expressions are used to access the UI components.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 4
    EFCore.BulkExtensions

    EFCore.BulkExtensions

    Entity Framework EF Core efcore Bulk Batch Extensions with BulkCopy

    EFCore.BulkExtensions is a high-performance extension library for Entity Framework Core that provides bulk operations like insert, update, delete, and read. It significantly improves performance when working with large datasets and supports batching, upserts, and change tracking. The library is compatible with popular databases like SQL Server, PostgreSQL, MySQL, and SQLite.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Demo Series - Small Business Backup By Veeam Icon
    Demo Series - Small Business Backup By Veeam

    Learn how to protect your Microsoft 365 data, with simple, actionable tips today.

    Watch this on-demand demo series and learn how to protect your Microsoft 365 data with clear, simple, actionable steps that are easy to implement for businesses of all sizes.
    Watch Demo Series
  • 5
    Entity Framework Plus

    Entity Framework Plus

    Entity framework plus extends your DbContext with must-haves features

    Entity Framework Plus extends your DbContext with must-haves features, include filter, auditing, caching, query future, batch delete, batch update, and more. Deleting using Entity Framework Core can be very slow if you need to delete hundreds or thousands of entities. Entities are first loaded in the context before being deleted which is very bad for the performance and then, they are deleted one by one which makes the delete operation even worse. EF+ Batch Delete is the most efficient way to delete records. You drastically improve your application performance by removing the need to retrieve and load entities in your context and by performing a single database roundtrip instead of one for every record. Deletes multiples rows in a single database roundtrip and without loading entities in the context. Updates multiples rows using an expression in a single database roundtrip and without loading entities in the context.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 6
    EventFlow

    EventFlow

    Async/await first CQRS+ES and DDD framework for .NET

    Async/await first CQRS+ES and DDD framework for .NET. Designed with sensible defaults and implementations that make it easy to create an example application. EventFlow uses interfaces for every part of its core, making it easy to replace or extend existing features with custom implementation. To get a more complete example of how EventFlow could be used, have a look at the shipping example found here in the code base. The example is based on the shipping example from the book "Domain-Driven Design - Tackling Complexity in the Heart of Software" by Eric Evans. Its in-progress, but should provide inspiration on how to use EventFlow on a larger scale. If you have ideas and/or comments, create a pull request or an issue. The aggregate ID in EventFlow is represented as a value object that inherits from the IIdentity interface. You can provide your own implementation, but EventFlow provides a convenient implementation that will suit most needs.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 7
    FluentMigrator

    FluentMigrator

    Fluent migrations framework for .NET

    Fluent Migrator is a migration framework for .NET much like Ruby on Rails Migrations. Migrations are a structured way to alter your database schema and are an alternative to creating lots of sql scripts that have to be run manually by every developer involved. Migrations solve the problem of evolving a database schema for multiple databases (for example, the developer's local database, the test database and the production database). Database schema changes are described in classes written in C# that can be checked into a version control system. FluentMigrator is a .NET library that helps to version database schema using incremental migrations which are described in C#. The basic idea of the FAKE helper is to run FluentMigrator over the existing database using compiled assembly with migrations.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 8
    GeneticSharp

    GeneticSharp

    GeneticSharp is a fast, extensible, multi-platform and multithreading

    GeneticSharp is a fast, extensible, multi-platform and multithreading C# Genetic Algorithm library that simplifies the development of applications using Genetic Algorithms (GAs). Can be used in any kind of .NET 6, .NET Standard and .NET Framework apps, like ASP .NET MVC, ASP .NET Core, Blazor, Web Forms, UWP, Windows Forms, GTK#, Xamarin, MAUI and Unity3D games. GeneticSharp and extensions (TSP, AutoConfig, Bitmap equality, Equality equation, Equation solver, Function builder, etc). A Blazor client application template with GeneticSharp ready to run a Travelling Salesman Problem (TSP). A console application template with GeneticSharp, you just need to implement the chromosome and fitness function. A console application template with GeneticSharp ready to run a Travelling Salesman Problem (TSP).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 9
    GitVersion

    GitVersion

    From git log to SemVer in no time

    GitVersion is free to use, improve, contribute and distribute. Source code is available on GitHub under MIT license. GitVersion is built for many different use-cases and workflows, so whether you use Mainline, Git Flow or GitHub Flow, GitVersion has you covered. Gitversion is highly configurable and can be made to support your specific versioning scheme, almost regardless of what it may be. Expose version variables in different formats to the tools you use. Use GitVersion locally or in a build pipeline with TeamCity, AppVeyor, Jenkins or any of the other supported build servers. GitVersion is a tool that generates a Semantic Version number based on your Git history. The version number generated from GitVersion can then be used for various different purposes. GitVersion can be used in a Continuous Server pipeline to generate a version number that both labels the build itself and makes the different version variables available to the rest of the build pipeline.
    Downloads: 1 This Week
    Last Update:
    See Project
  • Earn up to 16% annual interest with Nexo. Icon
    Earn up to 16% annual interest with Nexo.

    Let your crypto work for you

    Put idle assets to work with competitive interest rates, borrow without selling, and trade with precision. All in one platform. Geographic restrictions, eligibility, and terms apply.
    Get started with Nexo.
  • 10
    Guard Clauses

    Guard Clauses

    A simple package with guard clause extensions

    A simple extensible package with guard clause extensions. A guard clause is a software pattern that simplifies complex functions by "failing fast", checking for invalid inputs up front and immediately failing if any are found. Remember to update the PackageVersion in the csproj file and then a build-on master should automatically publish the new package to NuGet.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 11
    Handlebars.Net

    Handlebars.Net

    A real .NET Handlebars engine

    Handlebars.js is an extension to the Mustache templating language created by Chris Wanstrath. Handlebars.js and Mustache are both logicless templating languages that keep the view and the code separated like we all know they should be. Handlebars.Net doesn't use a scripting engine to run a Javascript library - it compiles Handlebars templates directly to IL bytecode. It also mimics the JS library's API as closely as possible. Blistering-fast Handlebars.js templates in your .NET application.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 12
    ImageProcessor

    ImageProcessor

    Wrapper around System.Drawing for the processing of image files

    A .NET library for on-the-fly processing of images. ImageProcessor is a collection of lightweight libraries written in C# that allows you to manipulate images on-the-fly using .NET 4.5+. It consists of two main libraries ImageProcessor, for desktop and application use and ImageProcessor.Web, a dynamic image processing extension built for ASP.NET. It’s lighting fast, extensible, easy to use, comes bundled with some great features and is fully open source. ImageProcessor is free and open source but developing it has taken thousands of hours of my time and a large part of my sanity. If you feel like dropping me a few precious pounds (there’s no obligation) it would go a great way to ensure that I can afford to take the time to continue to improve the library. It's fast, extensible, easy to use, comes bundled with some great features and is fully open source.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 13
    MercuryMessaging

    MercuryMessaging

    Framework to facilitate communication in the Unity game engine

    The Mercury messaging toolkit is a new way to handle cross-component communication in the Unity game engine. It integrates seamlessly with the Unity Editor, and is both robust and expandable. It has been tested in Unity 2020 up until 2020.3.21f1, Unity 2019 up until 2019.2.17f1, Unity 2018 up until 2018.3.13f1, Unity 2017 up until 2017.4f1, and 5.6. The toolkit contains the Mercury messaging framework, which is a messaging and organizational framework built around the Mercury Protocol. Unity organizes its rendered scene objects (known in Unity as GameObjects) using a standard scene graph (known in Unity as the Scene Hierarchy). While Unity is very powerful, it is fairly difficult to achieve nonspatial communication between scriptable components of GameObjects (in Unity, known as MonoBehaviours).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 14
    Microsoft Authentication Library .NET

    Microsoft Authentication Library .NET

    Microsoft Authentication Library (MSAL) for .NET

    MSAL.NET (Microsoft.Identity.Client) is an authentication library that enables you to acquire tokens from Azure AD, to access protected Web APIs (Microsoft APIs or applications registered with Azure Active Directory). MSAL.NET is available on several .NET platforms (Desktop, Universal Windows Platform, Xamarin Android, Xamarin iOS, Windows 8.1, and .NET Core). The MSAL library for .NET is part of the Microsoft identity platform for developers (formerly named Azure AD) v2.0. It enables you to acquire security tokens to call protected APIs. It uses industry-standard OAuth2 and OpenID Connect. The library also supports Azure AD B2C. Acquiring a token interactively enables the application to acquire a token after authenticating the user through an interactive sign-in. There are specificities, though depending on the platforms (Xamarin Android, Xamarin iOS, or UWP)
    Downloads: 1 This Week
    Last Update:
    See Project
  • 15
    MockHttp for HttpClient

    MockHttp for HttpClient

    Testing layer for Microsoft's HttpClient library

    MockHttp is a testing layer for Microsoft's HttpClient library. It allows stubbed responses to be configured for matched HTTP requests and can be used to test your application's service layer. MockHttp defines a replacement HttpMessageHandler, the engine that drives HttpClient, that provides a fluent configuration API and provides a canned response. The caller (eg. your application's service layer) remains unaware of its presence. MockHttpMessageHandler defines both When and Expect, which can be used to define responses. They both expose the same fluent API, but each works in a slightly different way. Using When specifies a "Backend Definition". Backend Definitions can be matched against multiple times and in any order, but they won't match if there are any outstanding Request Expectations present (unless BackendDefinitionBehavior.Always is specified).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 16
    MonoTorrent

    MonoTorrent

    The repository for MonoTorrent, a bittorrent library for .NET

    This is a list of all the BEPs which have been implemented in MonoTorrent. A full list of all available BEPs can be seen. Prioritise specific files. Selective file downloading (including the ability to not download specific files). Rarest first piece picking (takes priorisation into account). End-game mode to boost the last 1-2% of the download. Sequential downloading (for media files). Per-torrent download/upload rate limiting. Overall download/upload rate limiting. In memory cache to reduce disk reads. Auto-throttling if the download rate exceeds the piece verification/disk write rate. IPV4 connections. IPV6 connections. IP address ban lists. Creating torrents from a single file, a folder, or arbitrary files in arbitrary folders. Fast resume data can be saved/restored to avoid hashing the data every time a torrent is started. Incremental piece hashing (reduces disk reads by incrementally hashing each block in a piece as it is received).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 17
    NHibernate

    NHibernate

    NHibernate Object Relational Mapper

    NHibernate is a mature, open-source object-relational mapper for the .NET framework. It's actively developed, fully featured, and used in thousands of successful projects. Easily map regular C# or VB.NET object models designed in Visual Studio. No special base classes or attributes are needed. Fully supports inheritance, components, and enums. Generates database tables from your domain models. Supports all popular relational databases. Supports the most complex legacy scenarios. Full-Text Search. Cluster-scoped caching with Microsoft Velocity & Memcached. Business validation rules. ReSharper plugin. Castle Active Record. S#arp Architecture. NHibernate is a popular, fast-growing ORM with a helpful community of seasoned developers. Used in thousands of commercial and open source projects.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 18
    NSubstitute

    NSubstitute

    A friendly substitute for .NET mocking libraries

    NSubstitute is designed for Arrange-Act-Assert (AAA) testing, so you just need to arrange how it should work, then assert it received the calls you expected once you're done. Because you've got more important code to write than whether you need a mock or a stub. It is an attempt to satisfy our craving for a mocking library with a succinct syntax that helps us keep the focus on the intention of our tests, rather than on the configuration of our test doubles. We've tried to make the most frequently required operations obvious and easy to use, keeping less usual scenarios discoverable and accessible, and all the while maintaining as much natural language as possible. There are already some great mocking libraries around for .NET, so why create another? We found that for all their great features, none of the existing libraries had the succinct syntax we were craving — the code required to configure test doubles quickly obscured the intention behind our tests.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 19
    NUnit 3 Framework

    NUnit 3 Framework

    NUnit 3 Framework

    NUnit is a unit-testing framework for all .Net languages. Initially ported from JUnit, the current production release, version 3, has been completely rewritten with many new features and support for a wide range of .NET platforms. NUnit is intended to be extensible. We can't do everything for everybody but we want to make it reasonably easy to extend NUnit. In many cases, users will be able to implement a special feature outside of our scope by simply creating a new attribute that embeds the required logic. In other cases, particularly in extending the engine, we rely on a plugin architecture. When running tests in a separate process, the console and gui runners make use of the NUnit Agent program, nunit-agent.exe. Although not directly run by users, nunit-agent does load and execute tests and users need to be aware of it, especially when debugging is involved.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 20
    Nancy

    Nancy

    Lightweight, low-ceremony, framework for building HTTP based services

    Nancy is a lightweight, low-ceremony, framework for building HTTP-based services on .NET Framework/Core and Mono. The goal of the framework is to stay out of the way as much as possible and provide a super-duper-happy-path to all interactions. Nancy is designed to handle DELETE, GET, HEAD, OPTIONS, POST, PUT and PATCH requests and provides a simple, elegant, Domain Specific Language (DSL) for returning a response with just a couple of keystrokes, leaving you with more time to focus on the important bits.. your code and your application. Built from the bottom up, not simply a DSL on top of an existing framework. Removing limitations and feature hacks of an underlying framework, as well as the need to reference more assemblies than you need. keep it light. Run anywhere. Nancy is not built on any specific hosting technology can be run anywhere. Out of the box, Nancy supports running on ASP.NET/IIS, WCF, Self-hosting and any OWIN.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 21
    NetMQ

    NetMQ

    A 100% native C# implementation of ZeroMQ for .NET

    NetMQ is a 100% native C# port of the lightweight messaging library ZeroMQ. NetMQ extends the standard socket interfaces with features traditionally provided by specialized messaging middleware products. NetMQ sockets provide an abstraction of asynchronous message queues, multiple messaging patterns, message filtering (subscriptions), seamless access to multiple transport protocols, and more. Currently, two versions are maintained Version 3 which is the stable version of NetMQ and version 4, version 4 is same as version 3 without obsolete code. You can find both versions on Nuget, for more information read the Migrating-to-v4.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 22
    Nethereum

    Nethereum

    Ethereum .Net cross platform integration library

    Nethereum is the .Net integration library for Ethereum, simplifying the access and smart contract interaction with Ethereum nodes both public or permission like Geth, Parity or Quorum. Nethereum is developed targeting netstandard 1.1, netstandard 2.0, netcore 2.1, netcore 3.1, net451 and also as a portable library, hence it is compatible with all the operating systems (Windows, Linux, MacOS, Android, and OSX) and has been tested on cloud, mobile, desktop, Xbox, hololens and windows IoT. Simplified smart contract interaction for deployment, function calling, transaction and event filtering and decoding of topics. ABI to .Net type encoding and decoding, including attribute-based for complex object deserialization. Transaction, RLP, and message signing, verification, and recovery of accounts. The simplified account life cycle for both managed by third-party client (personal) or stand-alone (signed transactions).
    Downloads: 1 This Week
    Last Update:
    See Project
  • 23
    Neutronium

    Neutronium

    Build .NET desktop applications using HTML, CSS and javascript

    Neutronium is a UI library to create .NET desktop applications using HTML, CSS and javascript. Neutronium uses the MVVM pattern exactly the same way as the WPF application. Neutronium provides bindings with Vue.js, mobx.js and Knockout.js to build powerful HTML5 UI. Use all the power of the javascript stack to build .NET desktop applications. Architecture Neutronium application just like standard WPF application. Compatible with popular MVVM libraries such as MVVM Light Toolkit and reactiveUi. Use standard javascript frameworks to build UI. Solution template available for a quick start. Use javascript framework cli tools to use the same tool chain as web development taking the chance on tools such as live reload. Reuse ViewModel designed for WPF with a different View Engine. Neutronium combines Chromium via ChromiumFx C# lib and a binding engine that converts back and forth C# POCO to javascript POCO. Javascript objects are then used as ViewModel for javascript MVVM library.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 24
    Npgsql Entity Framework Core PostgreSQL

    Npgsql Entity Framework Core PostgreSQL

    Entity Framework Core provider for PostgreSQL

    Npgsql.EntityFrameworkCore.PostgreSQL is the open source EF Core provider for PostgreSQL. It allows you to interact with PostgreSQL via the most widely-used .NET O/RM from Microsoft, and use familiar LINQ syntax to express queries. It's built on top of Npgsql. The provider looks and feels just like any other Entity Framework Core provider. Aside from providing general EF Core support for PostgreSQL, the provider also exposes some PostgreSQL-specific capabilities, allowing you to query JSON, array or range columns, as well as many other advanced features. For more information, see the the Npgsql site.
    Downloads: 1 This Week
    Last Update:
    See Project
  • 25
    Orleans

    Orleans

    Orleans is a cross-platform framework for building distributed apps

    Orleans builds on the developer productivity of .NET and brings it to the world of distributed applications, such as cloud services. Orleans scales from a single on-premises server to globally distributed, highly-available applications in the cloud. Orleans takes familiar concepts like objects, interfaces, async/await, and try/catch and extends them to multi-server environments. As such, it helps developers experienced with single-server applications transition to building resilient, scalable cloud services and other distributed applications. For this reason, Orleans has often been referred to as "Distributed .NET". It was created by Microsoft Research and introduced the Virtual Actor Model as a novel approach to building a new generation of distributed systems for the Cloud era. The core contribution of Orleans is its programming model which tames the complexity inherent to highly-parallel distributed systems without restricting capabilities or imposing onerous constraints.
    Downloads: 1 This Week
    Last Update:
    See Project