Skip to content

Latest commit

 

History

History
919 lines (650 loc) · 67.8 KB

README.md

File metadata and controls

919 lines (650 loc) · 67.8 KB

📦 Awesome Nuget Packages Awesome PRs Welcome

A collection of awesome and top .NET packages sorted by most popular needs.

Give a Star! ⭐️

If you liked this repository or find it useful, please give it a star. Thanks!

Contents

Libraries

Object Mapper

  • AutoMapper

    A convention-based object-object mapper in .NET

    GitHub Stars NuGet Downloads

  • Mapperly

    A .NET source generator for generating object mappings. No runtime reflection.

    GitHub Stars NuGet Downloads

  • Maspter

    A fast, fun and stimulating object to object Mapper

    GitHub Stars NuGet Downloads

IoC

  • Autofac

    Autofac is an IoC container for .NET. It manages the dependencies between classes so that applications stay easy to change as they grow in size and complexity.

    GitHub Stars NuGet Downloads

Task Scheduler / Background Job

  • HangFire

    An easy way to perform background job processing in your .NET and .NET Core applications. No Windows Service or separate process required.

    GitHub Stars NuGet Downloads

  • Quartz.NET

    Quartz Enterprise Scheduler .NET

    GitHub Stars NuGet Downloads

  • Coravel

    Near-zero config .NET Core micro-framework that makes advanced application features like Task Scheduling, Caching, Queuing, Event Broadcasting, and more a breeze!

    GitHub Stars NuGet Downloads

Serialization

  • Json Serializer

  • Binary Serializer

    • MessagePack

      Extremely Fast MessagePack (MsgPack) Serializer for .NET

      GitHub Stars NuGet Downloads

    • Protobuf-Net

      protobuf-net is a contract based serializer for .NET code, that happens to write data in the "protocol buffers" serialization format engineered by Google.

      GitHub Stars NuGet Downloads

  • XML Serializer

    • System.Xml.XmlSerializer

      Provides classes for serializing objects to the Extensible Markup Language (XML) and deserializing XML data to objects.

      NuGet Downloads

Database, Database Drivers, and Migration

  • Database

    • LiteDB

      LiteDB is a small, fast and lightweight .NET NoSQL embedded database.

      GitHub Stars NuGet Downloads

    • RavenDB.Client

      An ACID NoSQL Document Database.

      GitHub Stars NuGet Downloads

  • Database Connector

    • Npgsql

      Npgsql is the .NET data provider for PostgreSQL.

      GitHub Stars NuGet Downloads

    • MongoDB.Driver

      The official MongoDB C#/.NET Driver provides asynchronous interaction with MongoDB.

      GitHub Stars NuGet Downloads

    • MySql.Data

      MySql.Data.MySqlClient .NET Core Class Library.

      NuGet Downloads

  • Database Migrations

    • FluentMigrator

      Fluent Migrator is a migration framework for .NET much like Ruby on Rails Migrations.

      GitHub Stars NuGet Downloads

ORM and Micro-ORM

  • ORM

    • Entity Framework

      Entity Framework 6 (EF6) is an object-relational mapper that enables .NET developers to work with relational data using domain-specific objects. It eliminates the need for most of the data-access code that developers usually need to write.

      GitHub Stars NuGet Downloads

    • Entity Framework Core

      EF Core is a modern object-database mapper for .NET. It supports LINQ queries, change tracking, updates, and schema migrations.

      GitHub Stars NuGet Downloads

    • linq2db

      Linq to database provider.

      GitHub Stars NuGet Downloads

  • Micro ORM

  • Entity Framework Core Extensions and Helpers

  • Entity Framework Core Providers

  • Dapper Extensions and Helpers

    • Dapper.Contrib

      The official collection of get, insert, update and delete helpers for Dapper.net. Also handles lists of entities and optional "dirty" tracking of interface-based entities.

      NuGet Downloads

    • Dapper.SqlBuilder

      The Dapper SqlBuilder component, for building SQL queries dynamically.

      NuGet Downloads

    • Dapper.FluentMap

      Simple API to fluently map POCO properties to database columns when using Dapper.

      GitHub Stars NuGet Downloads

  • SQL Query Builder

    • SqlKata

      SqlKata Query Builder is a powerful SQL Query Builder written in C#.

      GitHub Stars NuGet Downloads

    • ExpressionExtensionSQL

      ExpressionExtensionSQL is a NuGet library which you can add to your project to achieve lambda expression in SQL code. Dapper Extension

      GitHub Stars NuGet Downloads

NoSQL

  • Elastic

    Exposes all the Elasticsearch API endpoints but leaves you in control of building the request and response bodies.

    GitHub Stars NuGet Downloads

  • StackExchange.Redis

    High performance Redis client, incorporating both synchronous and asynchronous usage.

    GitHub Stars NuGet Downloads

MongoDb

  • MongoDb Helpers/Repository

    • Mongo2Go

      MongoDB for integration tests & local debugging

      GitHub Stars NuGet Downloads

    • MongoDbGenericRepository

      An example of generic repository implementation using the MongoDB C# Sharp 2.0 driver (async).

      GitHub Stars NuGet Downloads

  • MongoDb Framework

  • MongoDb Identity Integration

    • AspNetCore.Identity.MongoDbCore

      A MongoDb UserStore and RoleStore adapter for Microsoft.AspNetCore.Identity 2.0. Allows you to use MongoDb instead of SQL server with Microsoft.AspNetCore.Identity 2.0.

      GitHub Stars NuGet Downloads

  • MongoDb Migrations

    • MongoDBMigrations

      MongoDbMigrations uses the official MongoDB C# Driver to migrate your documents in your mongo database via useful fluent API.

      NuGet Downloads

Messaging and Queue

  • Commands/Events Dispatcher

    • MediatR

      Simple, unambitious mediator implementation in .NET

      GitHub Stars NuGet Downloads

    • Brighter

      The Command Dispatcher pattern is an addition to the Command design pattern that decouples the dispatcher for a service from its execution.

      GitHub Stars NuGet Downloads

  • Message Bus

    • Confluent.Kafka

      Confluent's Apache Kafka .NET client.

      GitHub Stars NuGet Downloads

    • kafka-sharp

      A .NET implementation of the Apache Kafka client side protocol geared toward performance (both throughput and memory wise). It is especially suited for scenarios where applications are streaming a large number of messages across a fair number of topics.

      GitHub Stars NuGet Downloads

    • RabbitMQ.Client

      RabbitMQ .NET client

      GitHub Stars NuGet Downloads

  • Service Bus

    • MassTransit

      MassTransit is a free, open-source distributed application framework for .NET. MassTransit makes it easy to create applications and services that leverage message-based, loosely-coupled asynchronous communication for higher availability, reliability, and scalability.

      GitHub Stars NuGet Downloads

    • NServiceBus

      MassTransit is a free, open-source distributed application framework for .NET. MassTransit makes it easy to create applications and services that leverage message-based, loosely-coupled asynchronous communication for higher availability, reliability, and scalability.

      GitHub Stars NuGet Downloads

API and RPC

  • API Frameworks

    • ServiceStack

      ServiceStack is a simple and fast alternative to WCF, MVC and Web API in one cohesive framework for all your services and web apps that's intuitive and Easy to use!

      GitHub Stars NuGet Downloads

    • Microsoft.OData.Core

      Open Data Protocol - .NET Libraries and Frameworks

      GitHub Stars NuGet Downloads

  • gRPC

    • Grpc.Core

      A C# implementation of gRPC based on the native gRPC Core library.

      GitHub Stars NuGet Downloads

  • GraphQL

    • HotChocolate

      The Hot Chocolate GraphQL query execution engine and query validation.

      GitHub Stars NuGet Downloads

    • GraphQL for .NET

      An implementation of Facebook's GraphQL in .NET.

      GitHub Stars NuGet Downloads

  • WCF - SOAP

    • SoapCore

      SOAP protocol middleware for ASP.NET Core.

      GitHub Stars NuGet Downloads

Http Client / REST

  • Refit

    The automatic type-safe REST library for Xamarin and .NET

    GitHub Stars NuGet Downloads

  • RestEase

    Easy-to-use typesafe REST API client library, which is simple and customisable.

    GitHub Stars NuGet Downloads

  • RestSharp

    Simple REST and HTTP API Client for .NET

    GitHub Stars NuGet Downloads

Mail and SMTP Server

  • Mail

    • MailKit

      MailKit is an Open Source cross-platform .NET mail-client library that is based on MimeKit and optimized for mobile devices.

      GitHub Stars NuGet Downloads

  • Mail Service SDK

  • SMTP Server and POP3

    • netDumbster

      netDumbster is a .NET Fake SMTP Server clone of the popular Dumbster.

      GitHub Stars NuGet Downloads

Security

  • Security Libraries

    • NWebsec

      NWebsec consists of several security libraries for ASP.NET applications.

      GitHub Stars NuGet Downloads

  • Authentication and Authorization

    • Microsoft.AspNetCore.Identity

      ASP.NET Core Identity is the membership system for building ASP.NET Core web applications, including membership, login, and user data. ASP.NET Core Identity allows you to add login features to your application and makes it easy to customize data about the logged in user.

      NuGet Downloads

    • IdentityServer4

      IdentityServer is a free, open source OpenID Connect and OAuth 2.0 framework for ASP.NET Core.

      GitHub Stars NuGet Downloads

  • Captcha

  • Password Valdiator/Generator

    • PasswordGenerator

      A library which generates random passwords with different settings to meet the OWASP requirements.

      GitHub Stars NuGet Downloads

  • Cryptography

    • Portable.BouncyCastle

      A library which generates random passwords with different settings to meet the OWASP requirements.

      GitHub Stars NuGet Downloads

Compression

  • Zip Compression

    • SharpZipLib

      #ziplib is a Zip, GZip, Tar and BZip2 library written entirely in C# for the .NET platform.

      GitHub Stars NuGet Downloads

  • Compression Algorithms

    • Brotli.NET

      The .NET implementation of the brotli algorithm, provides similar interface to Google official API.

      GitHub Stars NuGet Downloads

CSV, Excel, Word, and PDF

  • CSV

    • CsvHelper

      Library to help reading and writing CSV files

      GitHub Stars NuGet Downloads

  • Excel

    • EPPlus

      Create advanced Excel spreadsheets using .NET

      GitHub Stars NuGet Downloads

    • NPOI

      a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop.

      GitHub Stars NuGet Downloads

  • Word

    • DocX

      DocX is a .NET library that allows developers to manipulate Microsoft Word files, in an easy and intuitive manner. DocX is fast, lightweight and best of all it does not require Microsoft Word or Office to be installed.

      GitHub Stars NuGet Downloads

    • NPOI

      a .NET library that can read/write Office formats without Microsoft Office installed. No COM+, no interop.

      GitHub Stars NuGet Downloads

  • PDF

    • Reporting

      • FastReport

        FastReport provides free open source report generator for .NET 5/.NET Core/.NET Framework. You can use the FastReport Open Source in MVC, Web API, console applications.

        GitHub Stars NuGet Downloads

      • PdfReport.Core

        PdfReport.Core is a code first reporting engine, which is built on top of the iTextSharp.LGPLv2.Core and EPPlus.Core libraries

        GitHub Stars NuGet Downloads

    • Renderers

      • DinkToPdf

        .NET Core P/Invoke wrapper for wkhtmltopdf library that uses Webkit engine to convert HTML pages to PDF.

        GitHub Stars NuGet Downloads

    • Create, Edit and Extract

      • itext7

        iText 7 allows you to build custom PDF scenarios for web, mobile, desktop or cloud apps in .NET.

        GitHub Stars NuGet Downloads

DateTime

  • NodaTime

    A better date and time API for .NET

    GitHub Stars NuGet Downloads

  • DateTimeExtensions

    This project is a merge of several common DateTime operations on the form of extensions to System.DateTime, including natural date difference text (precise and human rounded), holidays and working days calculations on several culture locales.

    GitHub Stars NuGet Downloads

Linq

  • MoreLinq

    Extensions to LINQ to Objects.

    GitHub Stars NuGet Downloads

Reflection and Expression

  • Reflection

    • FastMember

      In .NET reflection is slow... well, kinda slow. If you need access to the members of an arbitrary type, with the type and member-names known only at runtime - then it is frankly hard (especially for DLR types). This library makes such access easy and fast.

      GitHub Stars NuGet Downloads

  • Expression

  • Expression Builder

    • Castle.DynamicLinqQueryBuilder

      A truly generic and dynamic linq query builder to compliment jQuery QueryBuilder and other dynamic linq query generation needs.

      GitHub Stars NuGet Downloads

  • Expressions Interpreter/Evaluator

Validation

  • FluentValidation

    A popular .NET validation library for building strongly-typed validation rules.

    GitHub Stars NuGet Downloads

HtmlParser

  • HtmlAgilityPack

    HAP is an HTML parser written in C# to read/write DOM and supports plain XPATH or XSLT.

    GitHub Stars NuGet Downloads

  • AngleSharp

    The ultimate angle brackets parser library parsing HTML5, MathML, SVG and CSS to construct a DOM based on the official W3C specifications.

    GitHub Stars NuGet Downloads

Profling, Tracing, and Metrics

  • Profiling/Monitoring

    • MiniProfiler

      A simple but effective mini-profiler for ASP.NET (and Core) websites.

      GitHub Stars NuGet Downloads

  • Tracing

    • prometheus-net

      .NET library to instrument your code with Prometheus metrics.

      GitHub Stars NuGet Downloads

  • Metrics

    • App.Metrics

      App Metrics is an open-source and cross-platform .NET library used to record and report metrics within an application.

      GitHub Stars NuGet Downloads

Caching

  • InMemory

  • Distributed

    • StackExchange.Redis

      High performance Redis client, incorporating both synchronous and asynchronous usage.

      GitHub Stars NuGet Downloads

    • ServiceStack.Redis

      ServiceStack Redis Client is a simple, high-performance and feature-rich Client for Redis with native support and high-level abstractions for serializing POCOs and Complex Types.

      GitHub Stars NuGet Downloads

  • Caching Frameworks

    • CacheManager.Core

      CacheManager is an open source caching abstraction layer for .NET written in C#. It supports various cache providers and implements many advanced features.

      GitHub Stars NuGet Downloads

    • FusionCache

      FusionCache is an easy to use, high performance and robust cache with an optional distributed 2nd layer and some advanced features.

      GitHub Stars NuGet Downloads

  • Second Level Cache

Testing

  • Test Frameworks

    • xUnit

      xUnit is a developer testing framework, built to support Test Driven Development, with a design goal of extreme simplicity and alignment with framework features.

      GitHub Stars NuGet Downloads

    • NUnit

      NUnit is a unit-testing framework for all .NET languages.

      GitHub Stars NuGet Downloads

    • MyTested.AspNetCore.Mvc

      MyTested.AspNetCore.Mvc is a strongly-typed unit testing library providing an easy fluent interface to test the ASP.NET Core framework, perfectly suitable for both MVC and API scenarios. It is testing framework agnostic so that you can combine it with a test runner of your choice (e.g. xUnit, NUnit, etc.).

      GitHub Stars NuGet Downloads

  • Asserations

    • FluentAssertions

      A very extensive set of extension methods that allow you to more naturally specify the expected outcome of a TDD or BDD-style unit tests.

      GitHub Stars NuGet Downloads

  • Mocking

    • Moq

      The most popular and friendly mocking library for .NET

      GitHub Stars NuGet Downloads

    • FakeItEasy

      A .NET dynamic fake library for creating all types of fake objects, mocks, stubs etc.

      GitHub Stars NuGet Downloads

    • NSubstitute

      A friendly substitute for .NET mocking libraries.

      GitHub Stars NuGet Downloads

  • Fixture - Data Generator

    • AutoFixture

      AutoFixture makes it easier for developers to do Test-Driven Development by automating non-relevant Test Fixture Setup, allowing the Test Developer to focus on the essentials of each test case.

      GitHub Stars NuGet Downloads

    • NBuilder

      Through a fluent, extensible interface, NBuilder allows you to rapidly create test data, automatically assigning values to properties and public fields that are one of the built in .NET data types (e.g. ints and strings). NBuilder allows you to override for properties you are interested in using lambda expressions.

      GitHub Stars NuGet Downloads

  • Helpers

    • Respawn

      Respawn is a small utility to help in resetting test databases to a clean state. Instead of deleting data at the end of a test or rolling back a transaction, Respawn resets the database back to a clean checkpoint by intelligently deleting data from tables.

      GitHub Stars NuGet Downloads

  • HttpClient Mocking

    • RichardSzalay.MockHttp

      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.

      GitHub Stars NuGet Downloads

  • EF/Queryable Mocking

    • Effort.EF6

      Effort is a powerful tool that enables a convenient way to create automated tests for Entity Framework based applications. Learn more

      GitHub Stars NuGet Downloads

    • MockQueryable

      Moking Entity Framework Core operations such as ToListAsync, FirstOrDefaultAsync etc.

      GitHub Stars NuGet Downloads

  • Temp Database

    • EfCore.TestSupport

      Tools for helping in unit testing applications that use Entity Framework Core.

      GitHub Stars NuGet Downloads

    • Mongo2Go

      MongoDB for integration tests (.NET Core)

      GitHub Stars NuGet Downloads

  • Log Testing

  • Snapshot Testing

    • Snapshooter

      Snapshooter is a flexible snapshot testing tool to simplify the result validation in your unit tests in .NET

      GitHub Stars NuGet Downloads

  • BDD Testing

    • SpecFlow

      SpecFlow is a pragmatic BDD solution for .NET. It provides test automation for .NET (.NET Framework, .NET Core and Mono), based on the Gherkin specification language and integrates to Visual Studio.

      GitHub Stars NuGet Downloads

  • UI Testing

    • Selenium.WebDriver

      Selenium is a set of different software tools each with a different approach to supporting browser automation. These tools are highly flexible, allowing many options for locating and manipulating elements within a browser, and one of its key features is the support for automating multiple browser platforms.

      GitHub Stars NuGet Downloads

    • Puppeteer Sharp

      Headless Chrome .NET API

      GitHub Stars NuGet Downloads

  • Code Coverage

    • Coverlet

      Cross platform code coverage for .NET

      GitHub Stars NuGet Downloads

    • ReportGenerator

      Powerful code coverage visualization, ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into human readable reports in various formats.

      GitHub Stars NuGet Downloads

  • XUnit Extensions\Helpers

    • xunit.analyzers

      Code Analyzers for projects using xUnit.net that help find and fix frequent issues when writing tests.

      GitHub Stars NuGet Downloads

    • xunit.categories

      Friendlier attributes to help categorize your tests.

      GitHub Stars NuGet Downloads

OpenAPI

  • Swagger (Swashbuckle)

    Swagger tooling for API's built with ASP.NET Core. Generate beautiful API documentation, including a UI to explore and test operations, directly from your routes, controllers and models.

    GitHub Stars NuGet Downloads

  • NSwag

    The OpenAPI/Swagger API toolchain for .NET and TypeScript.

    GitHub Stars NuGet Downloads

Logging

  • Logging libraries

    • Serilog

      Serilog is a diagnostic logging library for .NET applications. It is easy to set up, has a clean API, and runs on all recent .NET platforms.

      GitHub Stars NuGet Downloads

    • NLog

      NLog is a free logging platform for .NET with rich log routing and management capabilities. It makes it easy to produce and manage high-quality logs for your application regardless of its size or complexity.

      GitHub Stars NuGet Downloads

  • Logging Management

    • Sentry

      Open-source error tracking that helps developers monitor and fix crashes in real time.

      GitHub Stars NuGet Downloads

Templating

  • Template Engine

    • DotLiquid

      .NET Port of Tobias Lütke's Liquid template language.

      GitHub Stars NuGet Downloads

  • Razor Templating (Core)

    • RazorLight

      Template engine based on Microsoft's Razor parsing engine for .NET Core.

      GitHub Stars NuGet Downloads

  • Razor Templating MVC5

    • RazorEngine

      Open source templating engine based on Microsoft's Razor parsing engine.

      GitHub Stars NuGet Downloads

Console

  • Spectre.Console

    A library that makes it easier to create beautiful, cross platform, console applications.

    GitHub Stars NuGet Downloads

Contribution

Contributions are always welcome! Feel free to open an issue or create a pull request.

License

CC0

To the extent possible under law, Mohammad Javad Ebrahimi has waived all copyright and related or neighboring rights to this work.