← C# / .NET
C# / .NET: Libraries and tooling
Building blocks used in C# / .NET projects: templating, data access, tests, build and operations.
Data access
- Entity Framework Core The standard ORM with migrations
- Dapper Fast SQL-based micro ORM
- Marten Documents and event sourcing on PostgreSQL
- Npgsql / SqlClient Database drivers
- FluentMigrator Migrations independent of the ORM
- StackExchange.Redis Redis client
- LINQ Queries right in the language
Libraries
- MediatR Mediator pattern, CQRS
- FluentValidation Validation rules
- AutoMapper / Mapperly Object mapping
- Serilog Structured logging
- Polly Resilience: retry, circuit breaker
- Hangfire Background jobs with a dashboard
- Quartz.NET Scheduled jobs
- MassTransit Messaging over RabbitMQ, Azure Service Bus, Kafka
- Wolverine Mediator and messaging
- Hot Chocolate GraphQL server
- Refit Type-safe REST clients
- Swashbuckle / NSwag OpenAPI documentation
- ASP.NET Core Identity User management and login
- OpenIddict / Duende IdentityServer OAuth 2.0 and OpenID Connect
User interfaces
- MudBlazor Material components for Blazor
- Radzen Blazor Free Blazor components
- Telerik / Syncfusion / DevExpress Commercial component suites
- htmx mit Razor Dynamic pages without an SPA
- .NET MAUI Mobile and desktop apps
Testing and tooling
- xUnit The most used test framework
- NUnit / MSTest Further test frameworks
- Moq / NSubstitute Mock objects
- FluentAssertions / Shouldly Readable assertions
- WebApplicationFactory Integration tests against the running app
- Testcontainers for .NET Real services in tests
- Playwright for .NET Browser tests
- Reqnroll Behaviour-driven tests, successor of SpecFlow
- Bogus Test data
- BenchmarkDotNet Micro benchmarks
- NuGet / dotnet CLI Packages and build
- Roslyn-Analyzer Static analysis in the compiler
More on C# / .NET
A project with C# / .NET?
New development, replacement or extending an existing system: tell us briefly what it is about. We will tell you what works in practice.