Nextended.Core 10.1.31

dotnet add package Nextended.Core --version 10.1.31
                    
NuGet\Install-Package Nextended.Core -Version 10.1.31
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Nextended.Core" Version="10.1.31" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Nextended.Core" Version="10.1.31" />
                    
Directory.Packages.props
<PackageReference Include="Nextended.Core" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add Nextended.Core --version 10.1.31
                    
#r "nuget: Nextended.Core, 10.1.31"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package Nextended.Core@10.1.31
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=Nextended.Core&version=10.1.31
                    
Install as a Cake Addin
#tool nuget:?package=Nextended.Core&version=10.1.31
                    
Install as a Cake Tool

Nextended

Nextended.Core

NuGet Downloads License

Foundation library โ€” extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes.

๐Ÿ“– Documentation: English ยท Deutsch

Installation

dotnet add package Nextended.Core

Nextended.Core has no Nextended dependencies โ€” every other package in the suite builds on it.

What's inside

Area Highlights
Extension methods string, DateTime/TimeSpan, IEnumerable<T>, Type, MemberInfo, object, Task, Stream, Uri, FileInfo, Assembly, HttpClient, Expression
Custom types Money, Currency, Date, BaseId, SuperType, Range<T>, SimpleRange, DataUrl, Hierarchical<T>, Quote
Class mapping MapTo<T>() / MapElementsTo<T>() / MapToAsync<T>() with a fluent ClassMappingSettings โ€” no external mapper, no profiles to register
Deep clone CloneDeep<T>() with clone levels, ignore attributes and reference-preserving cloning
Faceted search FacetBuilder builds facet groups (terms, ranges, dependencies) from IQueryable<T> and formats them as OData literals
OData ODataQueryModel, expression visitor and operator parsing for turning OData query strings into expressions
Encryption & hashing AesEncryption, RijndaelEncryption, HashHelper, StringHasher, plus Base64/Hex encoders
Watchers CollectionWatcher, PropertyWatcher, ProcessWatcher
Reflection ReflectionHelper, TypeExtender, PropertyPath, ExposedObject, SimpleConvert
Measurement Measure.Run(...) / Measure.RunAsync(...) return the result together with its timing
Generation attributes [AutoGenerateDto], [AutoGenerateCom], [IgnoreOnGeneration], [GenerationPropertySetting] โ€” consumed by Nextended.CodeGen

Quick start

Class mapping

using Nextended.Core.Extensions;

// Convention-based, no configuration
var dto = user.MapTo<UserDto>();

// Whole sequences
var dtos = users.MapElementsTo<UserDto>();

// Explicit member assignment where names differ
var settings = ClassMappingSettings.Default
    .AddAssignment<User, UserDto>(u => u.EmailAddress, d => d.Mail)
    .IgnoreProperties<User>(u => u.Password)
    .AddConverter<string, DateTime>(DateTime.Parse);

var mapped = user.MapTo<UserDto>(settings);

// Tweak any setting inline
var lenient = ClassMappingSettings.Default.Set(s => s.IgnoreExceptions = true);

There is also a chained Assign(...).To(...).And(...) form, but note it returns a Tuple<ClassMappingSettings, โ€ฆ> rather than the settings object โ€” take .Item1 before passing it to MapTo, or use AddAssignment as above.

Deep clone

using Nextended.Core.DeepClone;

var copy = order.CloneDeep();          // full graph, references preserved

Mark members you never want copied with [ClonerIgnore].

Custom types

using Nextended.Core.Types;

var price = new Money(99.99m, Currency.USD);
var due   = Date.Today.AddDays(30);        // date without a time component
var span  = new Range<int>(1, 10);

Money keeps decimal precision and its currency together; Date removes the "what time is midnight in which zone" class of bug from date-only values.

String and date extensions

using Nextended.Core.Extensions;

"hello world".ToPascalCase();     // "HelloWorld"
"hello world".ToCamel();          // "helloWorld"
"MyClassName".SplitByUpperCase(); // "My Class Name"
"a long sentence".ToEllipsis(8);  // "a long โ€ฆ"
"user@example.com".IsEmailAddress();

DateTime.Today.AddWeekDays(5);    // skips weekends
DateTime.Today.IsWeekend();
DateTime.Today.FirstDayOfMonth();
DateTime.UtcNow.ToISOz();

Note Earlier revisions of this documentation showed ToCamelCase(), DeepClone(), AddBusinessDays(), ToSnakeCase() and IsBusinessDay(). Those methods do not exist. The verified names are ToCamel(), CloneDeep(), AddWeekDays() and IsWeekend() / IsWeekday().

Measuring a call

using Nextended.Core.Measurement;

var measured = await Measure.RunAsync(() => repository.LoadAllAsync());
Console.WriteLine($"{measured.Elapsed} for {measured.Result.Count} rows");
using Nextended.Core.Facets;

var facets = await new FacetBuilder()
    .WithOptions(o => o.MaxOptionsPerGroup = 20)
    .BuildAsync<Product>(products);

// facets -> FacetGroup list with counts, ready to render and to feed back as an OData filter

Documentation

The README is an overview. The reference documentation covers every extension group, the mapping settings, the facet model and the type system in detail:

Migrating from nExt

Nextended.Core is the continuation of the nExt.Core package. 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.

Supported frameworks

  • netstandard2.0
  • netstandard2.1
  • net8.0
  • net9.0
  • net10.0

Dependencies

No Nextended dependencies โ€” this is the root of the dependency tree.

The Nextended family

The other 17 packages in the suite:

Core libraries

  • Nextended.Core โ€” Foundation library โ€” extension methods, custom types (Money, Date, BaseId, SuperType), class mapping, deep clone, encryption, hashing and the code-generation attributes. (this package)
  • Nextended.Cache โ€” Expression-based caching โ€” automatic cache keys from method expressions, CacheProvider with condition-based invalidation, thread-safe AddOrGetExisting.

Data access

  • Nextended.EF โ€” Entity Framework Core extensions โ€” graph loading (LoadGraphAsync, IncludeAll, MultiInclude), declarative include definitions, paging, dynamic sorting and bulk operations.

ASP.NET Core & web

  • Nextended.Web โ€” ASP.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.ResponseFilters โ€” Fluent, provider-agnostic pipeline that redacts, masks, rounds, truncates, hashes, prunes and restructures response DTOs before serialization โ€” per request, per user, per permission.
  • Nextended.ResponseFilters.AspNetCore โ€” ASP.NET Core adapter for Nextended.ResponseFilters โ€” registers the pipeline as a global IAsyncResultFilter and replays structural edits against the serialized JSON tree.

UI libraries

  • Nextended.Blazor โ€” Blazor 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.UI โ€” WPF 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

  • Nextended.Imaging โ€” Image processing โ€” aspect-preserving resize, crop, colour replacement, brightness-based foreground picking, thumbnail generation, byte/data-URL conversion and MIME detection from magic bytes.
  • Nextended.CodeGen โ€” Roslyn source generator โ€” DTOs and interfaces from your entities, strongly typed classes from JSON/XML, lookup tables from Excel, and documentation from source files.

.NET Aspire hosting

  • Nextended.Aspire โ€” Conditional 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.Supabase โ€” The complete Supabase stack โ€” Postgres, Auth (GoTrue), REST, Realtime, Storage, Studio, Kong and Edge Functions โ€” as one composable Aspire resource.
  • Nextended.Aspire.Hosting.N8n โ€” The n8n workflow-automation platform as an Aspire resource, with Postgres persistence, workflow import and a typed client for triggering workflows from .NET.
  • Nextended.Aspire.Hosting.Grafana โ€” Grafana, Prometheus, Loki, Tempo, Promtail, cAdvisor, postgres_exporter and the OpenTelemetry Collector as composable resources with auto-provisioned datasources.
  • Nextended.Aspire.Hosting.WebDataStudio โ€” WebDataStudio โ€” a browser database studio for PostgreSQL, MySQL, SQL Server, SQLite, Oracle, DuckDB, ClickHouse, MongoDB and Redis โ€” wired to the databases of your stack.
  • Nextended.Aspire.Hosting.AspireUI โ€” AspireUI โ€” 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.
  • Nextended.Aspire.Hosting.LocalAI โ€” Self-hosted, OpenAI-compatible multimodal AI โ€” image generation, text-to-speech, speech-to-text and video โ€” with gallery model management, GPU support and Open WebUI.
  • Nextended.Aspire.Hosting.Php โ€” Run 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.

License

GPL-3.0-or-later โ€” see LICENSE.

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 is compatible.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
.NET Core netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 is compatible. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages (14)

Showing the top 5 NuGet packages that depend on Nextended.Core:

Package Downloads
MudBlazor.Extensions

MudBlazor.Extensions is a small extension library for MudBlazor from https://mudblazor.com/

Nextended.Blazor

Provides helper and extensions for Blazor specific projects

BlazorParameterCastingMagic

The BlazorParameterCastingMagic package provides a way to handle dynamic casting of parameters in Blazor components because Blazor does not natively support implicit conversions for parameters

AuralizeBlazor

AuralizeBlazor is a wrapper component for audioMotion-analyzer.

Nextended.CodeGen

Generate DTOs, interfaces and more from JSON, XML, Excel or existing classes.

GitHub repositories (1)

Showing the top 1 popular GitHub repositories that depend on Nextended.Core:

Repository Stars
fgilde/MudBlazor.Extensions
MudBlazor.Extensions from https://www.mudex.org is a small extension for MudBlazor from https://mudblazor.com
Version Downloads Last Updated
10.1.31 0 8/19/2026
10.1.30 0 8/19/2026
10.1.21 3,594 7/30/2026
10.1.20 656 7/26/2026
10.1.19 483 7/23/2026
10.1.18 561 7/22/2026
10.1.17 412 7/21/2026
10.1.16 374 7/21/2026
10.1.15 362 7/21/2026
10.1.14 415 7/16/2026
10.1.13 408 7/12/2026
10.1.12 353 7/12/2026
10.1.11 445 7/6/2026
10.1.10 2,182 6/16/2026
10.1.9 10,458 5/29/2026
10.1.8 1,640 5/19/2026
10.1.7 469 5/16/2026
10.1.6 1,679 5/12/2026
10.1.5 379 5/12/2026
10.1.4 8,719 5/11/2026
Loading failed