-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathDOTNETFX.csv
More file actions
We can make this file beautiful and searchable if this error is corrected: It looks like row 10 should actually have 1 column, instead of 10 in line 9.
221 lines (220 loc) · 38.5 KB
/
Copy pathDOTNETFX.csv
File metadata and controls
221 lines (220 loc) · 38.5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
# SPDX-FileCopyrightText: 2026 Priya Vijai Kalyan <priyavijai.kalyan2007@proton.me>
# SPDX-FileCopyrightText: 2026 Outcrop Inc
# SPDX-License-Identifier: MIT
# Repository: instructions
# File GUID: 9c816275-a3bc-49d7-b02e-ce7e50b32ee0
# Created: 2026
Framework|Github Link or Nuget Link|Description|Quality|Recommendation
||||
=== WEB FRAMEWORK & API ===||||Core frameworks for building web applications and APIs
ASP.NET Core|https://github.com/dotnet/aspnetcore|Microsoft's cross-platform web framework. The foundation for all .NET web apps - includes MVC, Razor Pages, Web API, Minimal APIs, and SignalR for real-time. Built-in DI, middleware pipeline, and extensive ecosystem.|Excellent - Microsoft-backed, extremely stable, enterprise-grade, massive community|Essential - This is your primary web framework. Use Minimal APIs for microservices and Controllers for complex enterprise APIs.
Carter|https://github.com/CarterCommunity/Carter|Thin layer over ASP.NET Core Minimal APIs providing a more structured, modular approach with automatic route discovery and validation integration.|Very Good - Stable, well-maintained, clean API design|Recommended for teams preferring modular endpoint organization over controllers
FastEndpoints|https://github.com/FastEndpoints/FastEndpoints|High-performance alternative to MVC controllers following REPR pattern (Request-Endpoint-Response). Built-in validation, auth, and OpenAPI support with minimal boilerplate.|Excellent - Very active development, great performance, growing adoption|Highly Recommended - Modern approach combining best of Minimal APIs and structured endpoints
||||
=== ORM & DATA ACCESS ===||||Database connectivity and object-relational mapping
Entity Framework Core|https://github.com/dotnet/efcore|Microsoft's official ORM. Supports LINQ, migrations, change tracking, lazy loading, complex relationships. Excellent PostgreSQL support via Npgsql provider.|Excellent - Microsoft-backed, most popular .NET ORM, extensive documentation|Essential - Primary ORM for complex domain models. Use with Npgsql.EntityFrameworkCore.PostgreSQL provider.
Npgsql|https://github.com/npgsql/npgsql|The .NET data provider for PostgreSQL. High performance, supports all PostgreSQL features including arrays, JSON, ranges, full-text search, spatial data.|Excellent - Very active, PostgreSQL-native, used by EF Core PostgreSQL provider|Essential - Required for PostgreSQL connectivity. Install Npgsql.EntityFrameworkCore.PostgreSQL for EF Core.
Dapper|https://github.com/DapperLib/Dapper|Micro-ORM focused on raw SQL performance. Simple object mapping without change tracking overhead. Created by Stack Overflow team.|Excellent - Battle-tested at Stack Overflow scale, very stable, minimal dependencies|Highly Recommended - Use alongside EF Core for performance-critical queries and reporting
SqlKata|https://github.com/sqlkata/querybuilder|Fluent SQL query builder supporting multiple databases. Generates parameterized queries safely. Works great with Dapper.|Very Good - Clean API, multi-database support, prevents SQL injection|Recommended - Useful for dynamic query building when raw SQL with Dapper is needed
EFCore.BulkExtensions|https://github.com/borisdj/EFCore.BulkExtensions|Extends EF Core with bulk operations (BulkInsert, BulkUpdate, BulkDelete, BulkMerge). Massive performance improvement for batch operations.|Very Good - Active development, significant performance gains|Highly Recommended - Essential for any bulk data operations, ETL processes
Marten|https://github.com/JasperFx/marten|Document database and event store using PostgreSQL's JSON capabilities. Combines NoSQL flexibility with PostgreSQL reliability.|Excellent - Very active, unique approach, great for event sourcing|Recommended if you need document storage or event sourcing without additional infrastructure
||||
=== AUTHENTICATION & AUTHORIZATION ===||||Identity, authentication, and access control
ASP.NET Core Identity|https://github.com/dotnet/aspnetcore/tree/main/src/Identity|Built-in membership system for user registration, login, password management, roles, claims, 2FA, external providers (Google, Facebook, etc).|Excellent - Microsoft-backed, well-integrated, extensive customization options|Essential - Base identity system. Extend with your own providers as needed.
Duende IdentityServer|https://github.com/DuendeSoftware/IdentityServer|OpenID Connect and OAuth 2.0 framework. Full-featured identity provider with support for all modern auth flows, consent, federation.|Excellent - Industry standard, extremely comprehensive, great documentation|Highly Recommended for B2B - Commercial license required for revenue >$1M, essential for enterprise SSO
OpenIddict|https://github.com/openiddict/openiddict-core|Free and open-source OAuth 2.0/OpenID Connect stack. More flexible than IdentityServer, good for custom implementations.|Very Good - Active development, fully open-source, growing adoption|Recommended - Free alternative to Duende. Good choice if you need full control over auth server.
ASP.NET Core Authorization|Built into ASP.NET Core|Policy-based authorization with requirements, handlers, and resources. Supports role-based, claims-based, and custom authorization.|Excellent - Microsoft-backed, very flexible, well-documented|Essential - Use for all authorization logic. Combine with Casbin for complex scenarios.
Casbin.NET|https://github.com/casbin/Casbin.NET|Powerful authorization library supporting ACL, RBAC, ABAC, and custom models. Policy defined in configuration, not code.|Very Good - Mature project ported from Go, highly flexible|Recommended for complex authorization - Great for multi-tenant B2B with complex permission models
||||
=== API DOCUMENTATION & CONTRACTS ===||||OpenAPI, Swagger, and API documentation
Swashbuckle.AspNetCore|https://github.com/domaindrivendev/Swashbuckle.AspNetCore|Swagger/OpenAPI generator for ASP.NET Core. Auto-generates OpenAPI spec from controllers/endpoints, includes Swagger UI.|Very Good - Most popular choice, good integration, active maintenance|Recommended - Standard choice for OpenAPI documentation
NSwag|https://github.com/RicoSuter/NSwag|Full-featured OpenAPI toolchain. Generates specs, C#/TypeScript clients, and controllers. More features than Swashbuckle.|Excellent - Very comprehensive, generates excellent TypeScript clients|Highly Recommended - Better than Swashbuckle for generating TypeScript clients for your frontend
Scalar.AspNetCore|https://github.com/scalar/scalar|Modern, beautiful API documentation UI. Drop-in replacement for Swagger UI with better UX and design.|Very Good - Modern design, active development, great DX|Recommended - Much nicer UI than Swagger UI, easy to integrate
Refit|https://github.com/reactiveui/refit|Type-safe REST client library. Define API as interface, Refit generates implementation. Perfect for microservice communication.|Excellent - Clean API, reduces boilerplate, widely used|Highly Recommended - Essential for type-safe HTTP client calls between services
||||
=== VALIDATION ===||||Input validation and data contracts
FluentValidation|https://github.com/FluentValidation/FluentValidation|Fluent API for building strongly-typed validation rules. Separates validation from models, supports async, conditional rules, custom validators.|Excellent - Industry standard, very mature, excellent documentation|Essential - Use for all input validation. Integrates with ASP.NET Core model binding.
DataAnnotations|Built into .NET|Attribute-based validation built into .NET. Simple [Required], [StringLength], [Range], [EmailAddress] attributes.|Good - Built-in, simple for basic scenarios|Use for simple DTOs - FluentValidation preferred for complex business rules
||||
=== OBJECT MAPPING ===||||DTO mapping and object transformation
AutoMapper|https://github.com/AutoMapper/AutoMapper|Convention-based object-to-object mapper. Reduces boilerplate when mapping between domain entities and DTOs.|Very Good - Most popular mapper, extensive features, good community|Recommended with caution - Useful but can hide complexity. Consider Mapster for performance.
Mapster|https://github.com/MapsterMapper/Mapster|Fast object mapper with code generation. Significantly faster than AutoMapper, cleaner configuration.|Excellent - Much faster than AutoMapper, active development, simpler API|Highly Recommended - Prefer over AutoMapper for new projects due to performance and simplicity
||||
=== SERIALIZATION ===||||JSON, XML, and other format handling
System.Text.Json|Built into .NET|High-performance JSON serialization built into .NET. Native integration with ASP.NET Core, minimal allocations.|Excellent - Microsoft-backed, fastest JSON library, source generators for AOT|Essential - Default choice for JSON. Use source generators for best performance.
Newtonsoft.Json|https://github.com/JamesNK/Newtonsoft.Json|The original .NET JSON library. More features than System.Text.Json including LINQ-to-JSON, JSON Path, extensive customization.|Excellent - Very mature, most features, wide ecosystem support|Recommended for complex scenarios - Use when System.Text.Json lacks required features
MessagePack-CSharp|https://github.com/MessagePack-CSharp/MessagePack-CSharp|Extremely fast binary serialization format. Smaller payloads than JSON, great for internal service communication and caching.|Excellent - Fastest serializer, very compact, great for Redis/caching|Highly Recommended - Use for Redis caching and high-performance internal APIs
protobuf-net|https://github.com/protobuf-net/protobuf-net|Protocol Buffers implementation for .NET. Binary serialization compatible with Google's protobuf standard.|Excellent - Very mature, great for gRPC and cross-platform serialization|Recommended for gRPC - Use with Grpc.AspNetCore for efficient service communication
||||
=== LOGGING & OBSERVABILITY ===||||Structured logging, tracing, and monitoring
Serilog|https://github.com/serilog/serilog|Structured logging library with rich ecosystem of sinks (Elasticsearch, Seq, Console, File, etc). Easy to query and analyze logs.|Excellent - Industry standard, huge ecosystem, excellent performance|Essential - Best logging library for .NET. Use with appropriate sinks for your infrastructure.
Serilog.AspNetCore|https://github.com/serilog/serilog-aspnetcore|ASP.NET Core integration for Serilog. Request logging middleware, configuration integration.|Excellent - Seamless integration, maintained by Serilog team|Essential - Required for Serilog in ASP.NET Core applications
Serilog.Sinks.Elasticsearch|https://github.com/serilog-contrib/serilog-sinks-elasticsearch|Serilog sink for Elasticsearch. Batches logs and sends to Elasticsearch for centralized logging.|Very Good - Well-maintained, configurable batching|Essential - Required for your Elasticsearch logging infrastructure
OpenTelemetry .NET|https://github.com/open-telemetry/opentelemetry-dotnet|Vendor-neutral observability framework. Distributed tracing, metrics, and logs with exporters for Jaeger, Zipkin, Prometheus, etc.|Excellent - CNCF project, industry standard, extensive integrations|Highly Recommended - Essential for distributed tracing in microservices architecture
App.Metrics|https://github.com/AppMetrics/AppMetrics|Metrics library for .NET. Counters, gauges, histograms, timers with reporters for InfluxDB, Prometheus, Graphite.|Very Good - Comprehensive metrics, multiple reporters|Recommended - Good alternative if not using OpenTelemetry for metrics
MiniProfiler|https://github.com/MiniProfiler/dotnet|Lightweight profiler for .NET. Shows SQL queries, HTTP requests, and custom timings in-page or via API.|Very Good - Simple to add, great for development debugging|Recommended for development - Excellent for identifying performance issues during development
||||
=== CACHING ===||||In-memory and distributed caching
StackExchange.Redis|https://github.com/StackExchange/StackExchange.Redis|High-performance Redis client used by Stack Overflow. Supports all Redis features, connection multiplexing, async operations.|Excellent - Battle-tested at massive scale, maintained by Stack Overflow|Essential - The Redis client for .NET. Use for your Redis caching layer.
Microsoft.Extensions.Caching.StackExchangeRedis|https://nuget.org/packages/Microsoft.Extensions.Caching.StackExchangeRedis|IDistributedCache implementation using StackExchange.Redis. Integrates with ASP.NET Core's distributed caching abstraction.|Excellent - Microsoft-maintained, clean abstraction|Essential - Use with IDistributedCache for easy Redis integration
EasyCaching|https://github.com/dotnetcore/EasyCaching|Caching abstraction supporting multiple providers (Redis, Memcached, in-memory), hybrid caching, response caching, interceptors.|Very Good - Feature-rich, supports multiple backends, interceptor-based caching|Recommended - Great if you need hybrid caching (local + distributed) or cache-aside pattern
FusionCache|https://github.com/ZiggyCreatures/FusionCache|Advanced hybrid cache with cache stampede protection, soft/hard timeouts, fail-safe, distributed invalidation.|Excellent - Addresses real-world caching problems, very well designed|Highly Recommended - Best cache library for production. Handles edge cases gracefully.
LazyCache|https://github.com/alastairtree/LazyCache|Simple in-memory caching wrapper with thread-safe lazy loading. Prevents cache stampede through atomic factory pattern.|Very Good - Simple API, solves common problems|Recommended for simple in-memory caching scenarios
||||
=== MESSAGING & PUB/SUB ===||||Async messaging, queues, and event-driven architecture
MassTransit|https://github.com/MassTransit/MassTransit|Full-featured message bus abstraction. Supports RabbitMQ, Azure Service Bus, Amazon SQS, Kafka, Redis, and in-memory transport.|Excellent - Very mature, extensive features, great documentation, active community|Highly Recommended - Best choice for message-based architecture. Supports sagas, scheduling, and more.
NServiceBus|https://github.com/Particular/NServiceBus|Enterprise service bus framework. Comprehensive messaging patterns, sagas, monitoring tools.|Excellent - Most mature .NET service bus, excellent tooling and support|Recommended for large enterprises - Commercial license but excellent support and tooling
CAP|https://github.com/dotnetcore/CAP|Lightweight event bus with outbox pattern built-in. Ensures eventual consistency between database and message broker.|Very Good - Solves distributed transaction problem elegantly, supports multiple brokers|Highly Recommended - Essential for reliable messaging with transactional outbox pattern
RabbitMQ.Client|https://github.com/rabbitmq/rabbitmq-dotnet-client|Official RabbitMQ .NET client. Low-level access to RabbitMQ features. Use directly or through MassTransit.|Excellent - Official client, full feature coverage|Essential if using RabbitMQ - Use with MassTransit for higher-level abstractions
Confluent.Kafka|https://github.com/confluentinc/confluent-kafka-dotnet|Official Apache Kafka client for .NET by Confluent. High performance, supports all Kafka features.|Excellent - Official client, enterprise-grade|Essential if using Kafka - Use with MassTransit for higher-level abstractions
||||
=== BACKGROUND JOBS & SCHEDULING ===||||Background processing, recurring jobs, and task scheduling
Hangfire|https://github.com/HangfireIO/Hangfire|Background job processing with persistence. Fire-and-forget, delayed, recurring jobs. Built-in dashboard for monitoring.|Excellent - Very popular, reliable, great dashboard, multiple storage backends|Highly Recommended - Best choice for background jobs. Pro version adds batches and continuations.
Quartz.NET|https://github.com/quartznet/quartznet|Full-featured job scheduling library ported from Java Quartz. Cron expressions, clustering, persistence.|Excellent - Very mature, enterprise-grade, extensive scheduling features|Highly Recommended - Best for complex scheduling requirements with cron expressions
Coravel|https://github.com/jamesmh/coravel|Lightweight task scheduling with fluent API. Simple setup for common scheduling patterns.|Very Good - Simple, lightweight, good for smaller applications|Recommended for simpler needs - Easier setup than Quartz for basic scheduling
||||
=== WORKFLOW & ORCHESTRATION ===||||Business process workflows and orchestration
Elsa Workflows|https://github.com/elsa-workflows/elsa-core|Workflow engine with visual designer. Supports HTTP, timers, events, custom activities. Embeddable or standalone.|Excellent - Very active development, visual designer, comprehensive features|Highly Recommended - Best .NET workflow engine. Can replace Activepieces for many use cases.
WorkflowCore|https://github.com/danielgerlag/workflow-core|Lightweight workflow engine supporting long-running workflows with persistence. Simpler than Elsa.|Good - Simple API, easier learning curve, less features than Elsa|Recommended for simpler workflows - Good starting point if Elsa seems too complex
Temporal.Client|https://github.com/temporalio/sdk-dotnet|.NET SDK for Temporal workflow orchestration. Durable execution, retries, long-running workflows.|Excellent - Enterprise-grade, battle-tested at Uber scale, great for microservices|Highly Recommended if using Temporal - Industry-leading workflow orchestration platform
||||
=== RESILIENCE & FAULT TOLERANCE ===||||Circuit breakers, retries, and resilience patterns
Polly|https://github.com/App-vNext/Polly|Resilience and transient-fault-handling library. Retry, circuit breaker, timeout, bulkhead, fallback policies.|Excellent - Industry standard, very mature, comprehensive patterns|Essential - Must-have for any distributed system. Use for all external service calls.
Microsoft.Extensions.Http.Polly|https://nuget.org/packages/Microsoft.Extensions.Http.Polly|Integration of Polly with IHttpClientFactory for resilient HTTP calls.|Excellent - Microsoft-maintained, clean integration|Essential - Use with HttpClientFactory for resilient HTTP clients
||||
=== HTTP CLIENT ===||||Making HTTP requests to external services
HttpClientFactory|Built into .NET|Factory for creating HttpClient instances. Manages handler lifetimes, configures named/typed clients.|Excellent - Microsoft-built, solves socket exhaustion, DI integration|Essential - Always use IHttpClientFactory, never new HttpClient() directly
RestSharp|https://github.com/restsharp/RestSharp|REST client library with fluent API. Serialization, authentication, async support.|Very Good - Popular, easy to use, good for simple REST calls|Recommended - Good for external API integration where you don't control the spec
Refit|https://github.com/reactiveui/refit|Type-safe REST client. Define API as interface with attributes, Refit implements it.|Excellent - Clean, type-safe, reduces boilerplate significantly|Highly Recommended - Best choice for type-safe API clients
Flurl|https://github.com/tmenier/Flurl|Fluent URL builder and HTTP client. Chain methods for building requests.|Very Good - Very readable syntax, good for dynamic URL construction|Recommended - Great for APIs requiring complex URL construction
||||
=== REAL-TIME COMMUNICATION ===||||WebSockets, Server-Sent Events, and real-time features
SignalR|Built into ASP.NET Core|Real-time communication library. WebSockets with fallback to Server-Sent Events and Long Polling. Hub abstraction.|Excellent - Microsoft-built, very mature, scales with Redis backplane|Essential for real-time - Built-in to ASP.NET Core. Use Redis backplane for scale.
||||
=== GRAPHQL ===||||GraphQL API implementation
HotChocolate|https://github.com/ChilliCream/graphql-platform|Full-featured GraphQL server. Schema-first or code-first, filtering, sorting, pagination, subscriptions.|Excellent - Most popular .NET GraphQL server, very active development|Highly Recommended if using GraphQL - Best-in-class GraphQL implementation
GraphQL.NET|https://github.com/graphql-dotnet/graphql-dotnet|Original .NET GraphQL implementation. More control, lower level than HotChocolate.|Very Good - Mature, flexible, good documentation|Recommended - Alternative to HotChocolate if you prefer more control
||||
=== gRPC ===||||High-performance RPC framework
Grpc.AspNetCore|https://github.com/grpc/grpc-dotnet|gRPC implementation for ASP.NET Core. High-performance service-to-service communication with protobuf.|Excellent - Microsoft-supported, native ASP.NET Core integration|Highly Recommended for internal services - Excellent for microservice communication
protobuf-net.Grpc|https://github.com/protobuf-net/protobuf-net.Grpc|Code-first gRPC using protobuf-net. Define services as interfaces without .proto files.|Very Good - Simpler than proto-first, good for .NET-to-.NET|Recommended if you prefer code-first - Reduces ceremony of proto file management
||||
=== SEARCH ===||||Elasticsearch and search functionality
Elastic.Clients.Elasticsearch|https://github.com/elastic/elasticsearch-net|Official Elasticsearch .NET client. Fully typed, supports all Elasticsearch features.|Excellent - Official client, comprehensive, actively maintained|Essential - Use this new client for Elasticsearch 8.x
NEST|https://github.com/elastic/elasticsearch-net|Legacy high-level Elasticsearch client. More mature but being replaced by Elastic.Clients.|Very Good - Very mature, extensive documentation, large community|Use for Elasticsearch 7.x - Migrate to Elastic.Clients.Elasticsearch for version 8+
||||
=== EMAIL ===||||Email sending and templating
MailKit|https://github.com/jstedfast/MailKit|Full-featured email client. SMTP, POP3, IMAP support. Modern async API, extensive protocol support.|Excellent - Most complete .NET email library, very reliable|Essential - Best email library for .NET. Use with MimeKit for message creation.
FluentEmail|https://github.com/lukencode/FluentEmail|Fluent API for sending emails. Template support (Razor, Liquid), multiple senders (SMTP, SendGrid, MailGun).|Very Good - Simple API, good template support, multiple providers|Highly Recommended - Great abstraction over MailKit with templates
||||
=== FILE HANDLING ===||||PDF, Excel, CSV, and document processing
QuestPDF|https://github.com/QuestPDF/QuestPDF|Modern PDF generation with fluent API. Code-first approach, great for dynamic reports.|Excellent - Active development, beautiful API, MIT licensed (with conditions)|Highly Recommended - Best modern PDF library. Check license for commercial use.
iText 7|https://github.com/itext/itext-dotnet|Comprehensive PDF library. Creation, manipulation, extraction, digital signatures.|Excellent - Very mature, extensive features, industry standard|Recommended for complex PDF needs - AGPL license, commercial license required for most B2B
PdfSharpCore|https://github.com/ststeiger/PdfSharpCore|PDF creation library ported to .NET Core. Simple API for basic PDF operations.|Good - Simpler than iText, MIT licensed|Recommended for simple PDFs - MIT license, good for basic PDF generation
EPPlus|https://github.com/EPPlusSoftware/EPPlus|Excel spreadsheet library. Create, read, modify XLSX files. Formulas, charts, styling.|Excellent - Feature-rich, mature, widely used|Highly Recommended - Best Excel library. Commercial license required since v5.
ClosedXML|https://github.com/ClosedXML/ClosedXML|Excel library with simple fluent API. Create and manipulate XLSX without COM.|Very Good - MIT licensed, simpler API than EPPlus|Recommended - Free alternative to EPPlus with good features
NPOI|https://github.com/nissl-lab/npoi|Port of Apache POI. Supports Excel (xls/xlsx), Word, PowerPoint.|Good - Free, supports older formats, Apache 2.0 license|Recommended if you need XLS (old Excel) support
CsvHelper|https://github.com/JoshClose/CsvHelper|Fast CSV reading and writing library. Mapping to objects, configuration, streaming.|Excellent - De facto standard for CSV in .NET, very fast|Essential - Only CSV library you'll need
||||
=== IMAGE PROCESSING ===||||Image manipulation and processing
ImageSharp|https://github.com/SixLabors/ImageSharp|Cross-platform 2D graphics library. Resize, crop, filters, format conversion.|Excellent - Modern, no System.Drawing dependency, great API|Essential for image processing - Fully managed, works everywhere including Linux containers
SkiaSharp|https://github.com/mono/SkiaSharp|.NET wrapper for Google's Skia graphics library. High-performance 2D rendering.|Excellent - Very fast, backed by Google's Skia, extensive features|Recommended for complex graphics - Better performance for complex operations
||||
=== DATE & TIME ===||||Date, time, and timezone handling
NodaTime|https://github.com/nodatime/nodatime|Better date/time library by Jon Skeet. Clear distinction between instants, local times, durations, time zones.|Excellent - Eliminates DateTime confusion, very well designed|Highly Recommended - Much better than DateTime for business applications
||||
=== NUMERICS & MATH ===||||Numerical calculations and mathematics
MathNET.Numerics|https://github.com/mathnet/mathnet-numerics|Numerical computing library. Linear algebra, statistics, probability distributions, interpolation.|Excellent - Comprehensive, well-documented, good performance|Highly Recommended if you need numerical computing - .NET equivalent of NumPy
||||
=== AI & MACHINE LEARNING ===||||Machine learning and AI integration
ML.NET|https://github.com/dotnet/machinelearning|Microsoft's ML framework for .NET. Classification, regression, clustering, anomaly detection.|Excellent - Microsoft-backed, production-ready, Model Builder tool|Highly Recommended for on-premise ML - Good if you can't use cloud ML services
Semantic Kernel|https://github.com/microsoft/semantic-kernel|AI orchestration SDK for LLM integration. Supports OpenAI, Azure OpenAI, and other models.|Excellent - Microsoft-backed, very active, great for AI features|Highly Recommended for AI features - Essential if building AI-powered features
LangChain.NET|https://github.com/tryAGI/LangChain|Port of LangChain to .NET. Chains, agents, memory for LLM applications.|Good - Growing, useful patterns from Python LangChain|Recommended - Alternative to Semantic Kernel with LangChain patterns
||||
=== TESTING ===||||Unit testing, integration testing, and mocking
xUnit|https://github.com/xunit/xunit|Modern unit testing framework. Used by Microsoft for .NET itself. Extensible, parallel test execution.|Excellent - Microsoft's choice, very active, modern design|Highly Recommended - Best testing framework for new projects
NUnit|https://github.com/nunit/nunit|Popular unit testing framework. Rich assertion library, extensive attributes.|Excellent - Very mature, feature-rich, strong community|Recommended - Excellent alternative to xUnit, more familiar syntax for some
FluentAssertions|https://github.com/fluentassertions/fluentassertions|Fluent API for test assertions. Readable failure messages, extensive assertion types.|Excellent - Makes tests readable, great error messages|Essential - Use with xUnit or NUnit for better assertions
Moq|https://github.com/moq/moq4|Mocking framework with fluent API. Create mock objects for unit testing.|Very Good - Most popular mocking framework, simple API|Recommended - Standard choice for mocking
NSubstitute|https://github.com/nsubstitute/NSubstitute|Friendly mocking library. Simpler syntax than Moq for most scenarios.|Very Good - Cleaner syntax, less setup|Recommended - Many prefer over Moq for simpler syntax
Bogus|https://github.com/bchavez/Bogus|Fake data generator. Realistic test data for users, addresses, companies, etc.|Excellent - Very comprehensive, easy to use, deterministic seeding|Essential for testing - Generates realistic test data easily
Respawn|https://github.com/jbogard/Respawn|Database cleanup for integration tests. Intelligent reset respecting foreign keys.|Excellent - Very useful, handles FK constraints properly|Highly Recommended - Essential for integration tests with PostgreSQL
TestContainers|https://github.com/testcontainers/testcontainers-dotnet|Docker containers for integration testing. Spin up PostgreSQL, Redis, Elasticsearch for tests.|Excellent - Real dependencies in tests, very reliable|Essential for integration testing - Test against real PostgreSQL, Redis, Elasticsearch
WireMock.Net|https://github.com/WireMock-Net/WireMock.Net|HTTP mock server for testing. Stub external APIs, record/playback.|Excellent - Full-featured HTTP mocking, great for external API testing|Highly Recommended - Essential for testing external API integrations
Verify|https://github.com/VerifyTests/Verify|Snapshot/approval testing. Compare test outputs against approved snapshots.|Excellent - Great for complex output verification, many integrations|Highly Recommended - Excellent for testing complex outputs like PDFs, HTML
NetArchTest|https://github.com/BenMorris/NetArchTest|Architecture testing. Verify coding conventions, dependencies, namespace rules.|Very Good - Useful for maintaining architecture boundaries|Recommended - Great for enforcing clean architecture rules
||||
=== DEPENDENCY INJECTION ===||||IoC containers and DI extensions
Microsoft.Extensions.DependencyInjection|Built into .NET|Built-in DI container. Simple, fast, integrated with all Microsoft libraries.|Excellent - Built-in, sufficient for most applications|Essential - Use the built-in container unless you need advanced features
Scrutor|https://github.com/khellang/Scrutor|Assembly scanning and decoration extensions for Microsoft DI. Auto-registration, decorators.|Excellent - Fills gaps in MS DI elegantly, very useful|Highly Recommended - Adds assembly scanning and decorator support to built-in DI
Autofac|https://github.com/autofac/Autofac|Full-featured IoC container. Modules, property injection, interception, lifetime scopes.|Excellent - Very mature, extensive features beyond MS DI|Recommended for complex scenarios - Use when built-in DI is insufficient
||||
=== CONFIGURATION & SECRETS ===||||Configuration management and secret handling
Microsoft.Extensions.Configuration|Built into .NET|Built-in configuration system. JSON, environment variables, user secrets, Azure Key Vault.|Excellent - Built-in, extensible, works great out of box|Essential - Use built-in configuration with providers for your needs
Vault.NET|https://github.com/Chatham/Vault.NET|HashiCorp Vault client for secrets management.|Good - Works, but consider official Vault providers|Recommended if using HashiCorp Vault
||||
=== HEALTH CHECKS ===||||Application health monitoring
AspNetCore.Diagnostics.HealthChecks|https://github.com/Xabaril/AspNetCore.Diagnostics.HealthChecks|Extensive health check library. PostgreSQL, Redis, Elasticsearch, RabbitMQ, and many more.|Excellent - Comprehensive, covers all your infrastructure, UI included|Essential - Health checks for all your infrastructure components
||||
=== RATE LIMITING ===||||API rate limiting and throttling
AspNetCoreRateLimit|https://github.com/stefanprodan/AspNetCoreRateLimit|Rate limiting middleware. IP and client-based limiting, configurable policies.|Very Good - Mature, flexible, multiple limiting strategies|Recommended - Good for API rate limiting. .NET 7+ has built-in rate limiting too.
System.Threading.RateLimiting|Built into .NET 7+|Built-in rate limiting. Fixed window, sliding window, token bucket, concurrency limiter.|Excellent - Built-in from .NET 7, clean API, good performance|Recommended for .NET 7+ - Use built-in for new projects on .NET 7 or later
||||
=== MULTI-TENANCY ===||||Multi-tenant B2B SaaS support
Finbuckle.MultiTenant|https://github.com/Finbuckle/Finbuckle.MultiTenant|Multi-tenancy library for ASP.NET Core. Multiple strategies, EF Core integration, isolation options.|Excellent - Comprehensive, well-documented, actively maintained|Essential for B2B SaaS - Best multi-tenancy library for .NET
||||
=== FEATURE FLAGS ===||||Feature toggles and A/B testing
Microsoft.FeatureManagement|https://github.com/microsoft/FeatureManagement-Dotnet|Microsoft's feature flag library. Simple toggles, time windows, percentage rollouts.|Excellent - Microsoft-backed, integrates with Azure App Configuration|Highly Recommended - Good for basic feature flags
Flagsmith|https://github.com/Flagsmith/flagsmith-dotnet-client|.NET client for Flagsmith feature flag service. Self-hosted or cloud.|Very Good - Open-source server option, good .NET client|Recommended - Good self-hosted feature flag option
||||
=== AUDIT & COMPLIANCE ===||||Audit logging and change tracking
Audit.NET|https://github.com/thepirat000/Audit.NET|Extensible audit trail framework. EF Core, MVC, WebAPI, SignalR, file, database, Elasticsearch output.|Excellent - Very comprehensive, covers many scenarios, active development|Highly Recommended - Essential for B2B compliance requirements
||||
=== CQRS & EVENT SOURCING ===||||Command Query Responsibility Segregation and mediator patterns
MediatR|https://github.com/jbogard/MediatR|Mediator pattern implementation. Decouples request handling, supports pipeline behaviors.|Excellent - Very popular, clean architecture enabler, good pipeline support|Highly Recommended - Great for CQRS and clean architecture
Wolverine|https://github.com/JasperFx/wolverine|Modern mediator and message bus. Local commands, outbox pattern, multi-transport messaging.|Excellent - Modern replacement for MediatR with more features|Recommended - Consider as MediatR alternative with built-in messaging
EventStore Client|https://github.com/EventStore/EventStore-Client-Dotnet|Client for EventStoreDB. Purpose-built event sourcing database.|Excellent - Official client for leading event store database|Recommended if using EventStoreDB - Best event sourcing infrastructure
||||
=== API VERSIONING ===||||API version management
Asp.Versioning.Http|https://github.com/dotnet/aspnet-api-versioning|API versioning for ASP.NET Core. URL, query string, header, media type versioning.|Excellent - Microsoft-maintained, comprehensive options|Highly Recommended - Essential for enterprise APIs that need versioning
||||
=== SECURITY ===||||Security utilities and cryptography
BCrypt.Net-Next|https://github.com/BcryptNet/bcrypt.net|BCrypt password hashing for .NET. Secure password storage.|Very Good - Simple API, secure algorithm|Recommended - Use for password hashing if not using ASP.NET Core Identity
NWebsec|https://github.com/NWebsec/NWebsec|Security headers middleware. CSP, HSTS, X-Frame-Options, etc.|Very Good - Easy to add security headers, comprehensive|Recommended - Adds important security headers easily
||||
=== COMPRESSION ===||||Response compression
Microsoft.AspNetCore.ResponseCompression|Built into ASP.NET Core|Built-in response compression. Gzip, Brotli support.|Excellent - Built-in, easy to configure, good performance|Essential - Enable for API responses
||||
=== LOCALIZATION & GLOBALIZATION ===||||Multi-language and internationalization
Microsoft.Extensions.Localization|Built into .NET|Built-in localization support. Resource files, IStringLocalizer, view localization.|Excellent - Built-in, well-integrated with ASP.NET Core|Essential for multi-language - Built-in solution covers most needs
OrchardCore.Localization.Core|https://github.com/OrchardCMS/OrchardCore|PO file localization from Orchard. Alternative to resx files with better tooling.|Very Good - PO files are easier to manage, good tooling|Recommended - Better workflow than resx for translation management
||||
=== CLOUD SDKs ===||||Cloud provider integrations
AWSSDK.Extensions.NETCore.Setup|https://nuget.org/packages/AWSSDK.Extensions.NETCore.Setup|ASP.NET Core integration for AWS SDK. DI registration, configuration binding.|Excellent - Official AWS package, clean integration|Essential if using AWS - Required for proper AWS SDK integration
Azure.Identity|https://github.com/Azure/azure-sdk-for-net|Azure SDK authentication. Managed identities, service principals, chained credentials.|Excellent - Official Azure package, supports all auth scenarios|Essential if using Azure - Required for Azure service authentication
Google.Cloud.Storage.V1|https://github.com/googleapis/google-cloud-dotnet|Google Cloud Storage client and other GCP services.|Excellent - Official Google packages, comprehensive coverage|Essential if using GCP - Official GCP .NET SDK
||||
=== IDEMPOTENCY ===||||Idempotent API requests
IdempotentAPI|https://github.com/ikyriak/IdempotentAPI|Idempotency middleware for ASP.NET Core. Prevents duplicate processing of retried requests.|Very Good - Simple to add, important for reliability|Highly Recommended - Essential for webhook receivers and critical APIs
||||
=== OUTBOX PATTERN ===||||Reliable message publishing
CAP|https://github.com/dotnetcore/CAP|Event bus with transactional outbox. Ensures reliable message publishing with eventual consistency.|Very Good - Built-in outbox pattern, multiple broker support|Highly Recommended - Solves distributed transaction problem elegantly
MassTransit Outbox|Part of MassTransit|Transactional outbox built into MassTransit. Works with EF Core.|Excellent - Integrated with MassTransit, well-documented|Essential if using MassTransit - Enable outbox for reliable messaging
||||
=== SPECIFICATION PATTERN ===||||Query specifications and repository patterns
Ardalis.Specification|https://github.com/ardalis/Specification|Generic Specification pattern for querying. Works with EF Core, reduces repository complexity.|Very Good - Clean implementation, good documentation|Recommended - Useful for complex query composition
||||
=== GUARD CLAUSES ===||||Input validation and guard clauses
Ardalis.GuardClauses|https://github.com/ardalis/GuardClauses|Fluent guard clause library. Validate method inputs with clear, chainable syntax.|Very Good - Simple, extensible, clear code|Recommended - Makes parameter validation cleaner
||||
=== EXTENSIONS & UTILITIES ===||||General utility libraries
Humanizer|https://github.com/Humanizr/Humanizer|String manipulation and humanization. Pluralization, casing, date humanization, file sizes.|Excellent - Very useful, extensive features, well-maintained|Highly Recommended - Essential for user-friendly formatting
Bogus|https://github.com/bchavez/Bogus|Fake data generation. Test data, sample data, seeding.|Excellent - Comprehensive, deterministic, great for seeding|Highly Recommended - Use for test data and demo environments
Polly.Contrib.WaitAndRetry|https://github.com/Polly-Contrib/Polly.Contrib.WaitAndRetry|Retry delay strategies for Polly. Jitter, decorrelated backoff.|Very Good - Important for proper distributed retry behavior|Recommended - Better backoff strategies than default Polly
||||
=== CODE GENERATION ===||||Source generators and scaffolding
System.Text.Json Source Generators|Built into .NET|Compile-time JSON serialization. Faster startup, AOT compatible.|Excellent - Built-in, significant performance improvement|Highly Recommended - Use for production JSON serialization
Mapperly|https://github.com/riok/mapperly|Compile-time object mapper using source generators. Zero runtime overhead.|Excellent - Fastest mapper, no runtime reflection|Recommended - Consider over AutoMapper/Mapster for performance-critical paths
||||
=== BENCHMARKING ===||||Performance testing and benchmarking
BenchmarkDotNet|https://github.com/dotnet/BenchmarkDotNet|Benchmarking library. Accurate measurements, statistical analysis, multiple runtimes.|Excellent - Industry standard for .NET benchmarking, used by Microsoft|Essential for performance work - Only serious benchmarking tool for .NET