Skip to content

Nextended.NET libraries that stay out of your way

Extension methods and custom types, expression-based caching, EF Core graph loading, permission-aware response shaping, a Roslyn source generator and eight .NET Aspire hosting integrations. Independent packages on one small foundation.

Nextended

The packages ​

Generated from one file

This listing, the sidebar and the tables in every README all come from docs/data/packages.json. Adding a package there updates every one of them, so they cannot drift apart.

Core libraries

PackageDescriptionSample
Nextended.CoreFoundation library — extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes.—
Nextended.CacheExpression-based caching — automatic cache keys from method expressions, CacheProvider with condition-based invalidation, thread-safe AddOrGetExisting.—

Data access

PackageDescriptionSample
Nextended.EFEntity Framework Core extensions — graph loading (LoadGraphAsync, IncludeAll, MultiInclude), declarative include definitions, paging, dynamic sorting and bulk operations.—

ASP.NET Core & web

PackageDescriptionSample
Nextended.WebASP.NET Core utilities — zero-config OData (AddODataAuto), composable IQueryable OData appliers, strongly typed controller URLs, streaming download helpers and a background executor that can replay a captured request.—
Nextended.ResponseFiltersFluent, provider-agnostic pipeline that redacts, masks, rounds, truncates, hashes, prunes and restructures response DTOs before serialization — per request, per user, per permission.—
Nextended.ResponseFilters.AspNetCoreASP.NET Core adapter for Nextended.ResponseFilters — registers the pipeline as a global IAsyncResultFilter and replays structural edits against the serialized JSON tree.—

UI libraries

PackageDescriptionSample
Nextended.BlazorBlazor helpers — IBrowserFile extensions (bytes, data URLs, downloads), a hierarchical model for browsing inside uploaded zip/tar/rar archives, MIME-type detection and component-parameter reflection.—
Nextended.UIWPF and Windows desktop helpers — a global input-binding manager with hold/sequence matching, DirectInput and XInput gamepad readers, key-bind capture controls, converters, behaviours, markup extensions and runtime-defined PropertyGrid types.—

Code generation & tooling

PackageDescriptionSample
Nextended.ImagingImage processing — aspect-preserving resize, crop, colour replacement, brightness-based foreground picking, thumbnail generation, byte/data-URL conversion and MIME detection from magic bytes.—
Nextended.CodeGenRoslyn source generator — DTOs and interfaces from your entities, strongly typed classes from JSON/XML, lookup tables from Excel, and documentation from source files.CodeGenSample

.NET Aspire hosting

PackageDescriptionSample
Nextended.AspireConditional AppHost builder extensions — WithReferenceIf / WaitForIf / WithExplicitStartIf, strongly typed environment variables from config objects, HTTPS dev-cert wiring, Docker guards, GitHub-source resources and npm app discovery.—
Nextended.Aspire.Hosting.SupabaseThe complete Supabase stack — Postgres, Auth (GoTrue), REST, Realtime, Storage, Studio, Kong and Edge Functions — as one composable Aspire resource.Supabase.AppHost
Nextended.Aspire.Hosting.N8nThe n8n workflow-automation platform as an Aspire resource, with Postgres persistence, workflow import and a typed client for triggering workflows from .NET.N8n.AppHost
Nextended.Aspire.Hosting.GrafanaGrafana, Prometheus, Loki, Tempo, Promtail, cAdvisor, postgres_exporter and the OpenTelemetry Collector as composable resources with auto-provisioned datasources.Grafana.AppHost
Nextended.Aspire.Hosting.WebDataStudioWebDataStudio — a browser database studio for PostgreSQL, MySQL, SQL Server, SQLite, Oracle, DuckDB, ClickHouse, MongoDB and Redis — wired to the databases of your stack, with accounts and roles, an optional SQL assistant, and an MCP endpoint for AI agents.WebDataStudio.AppHost
Nextended.Aspire.Hosting.AspireUIAspireUI — the visual AppHost builder — as a resource inside your own Aspire stack, with an optional pre-seeded admin user and a starter stack built from your project paths.AspireUI.AppHost
Nextended.Aspire.Hosting.LocalAISelf-hosted, OpenAI-compatible multimodal AI — image generation, text-to-speech, speech-to-text and video — with gallery model management, GPU support and Open WebUI.AiStack.AppHost
Nextended.Aspire.Hosting.PhpRun PHP endpoints inside your Aspire stack — a docroot folder or a single router script served by PHP's built-in web server, with php.ini settings as fluent options.Php.AppHost
Nextended.Aspire.Hosting.DbToolsDatabase tools for an Aspire app host. The first: fill a database resource from a database that already exists — schema and data — from another resource in the stack or from a server it does not model. PostgreSQL, SQL Server, MySQL/MariaDB, MongoDB and Redis, each through its own engine's dump and restore tools.DbTools.AppHost

The package overview adds target frameworks, platforms, dependencies and the dependency graph.

Quick start ​

bash
dotnet add package Nextended.Core
csharp
using Nextended.Core.Extensions;
using Nextended.Core.Types;
using Nextended.Core.DeepClone;

// Object mapping — no profiles, no configuration
var userDto = user.MapTo<UserDto>();
var userDtos = users.MapElementsTo<UserDto>();

// Deep clone, references preserved
var copy = order.CloneDeep();

// Types that carry their meaning
var price = new Money(99.99m, Currency.USD);
var due   = Date.Today.AddDays(30);

// Extension methods
"hello world".ToPascalCase();     // "HelloWorld"
"hello world".ToCamel();          // "helloWorld"
"MyClassName".SplitByUpperCase(); // "My Class Name"
DateTime.Today.AddWeekDays(5);    // skips weekends

Runnable samples ​

Every Aspire integration and the source generator ship with a project you can start:

Migrating from nExt ​

This suite was previously published as nExt. Namespaces moved from nExt.* to Nextended.*; the API is otherwise source-compatible. See the migration guide. The legacy nExt.Core package is no longer maintained.

Contact & support ​

Contact NextendedSupport Nextended