Meridian.Mapping 2.1.2

dotnet add package Meridian.Mapping --version 2.1.2
                    
NuGet\Install-Package Meridian.Mapping -Version 2.1.2
                    
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="Meridian.Mapping" Version="2.1.2" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Meridian.Mapping" Version="2.1.2" />
                    
Directory.Packages.props
<PackageReference Include="Meridian.Mapping" />
                    
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 Meridian.Mapping --version 2.1.2
                    
#r "nuget: Meridian.Mapping, 2.1.2"
                    
#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 Meridian.Mapping@2.1.2
                    
#: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=Meridian.Mapping&version=2.1.2
                    
Install as a Cake Addin
#tool nuget:?package=Meridian.Mapping&version=2.1.2
                    
Install as a Cake Tool

Meridian

Meridian is a lightweight, framework-style toolset for .NET applications:

  • Meridian.Mapping for high-performance object-to-object mapping
  • Meridian.Mediator for CQRS-style in-process request/response, notifications, and streams

Simple Setup

The shortest useful mediator setup is:

using Meridian.Mediator.Extensions;
using Microsoft.Extensions.DependencyInjection;

var services = new ServiceCollection();

services.AddMeridianMediator(cfg =>
{
    cfg.RegisterServicesFromAssemblyContaining<Program>();
});

Use the focused abstractions from DI depending on what you need:

var sender = provider.GetRequiredService<ISender>();
var publisher = provider.GetRequiredService<IPublisher>();
var streamSender = provider.GetRequiredService<IStreamSender>();

For pipeline registration, prefer the explicit APIs:

services.AddMeridianMediator(cfg =>
{
    cfg.RegisterServicesFromAssemblyContaining<Program>();
    cfg.AddBehavior<MyClosedBehavior>();
    cfg.AddStreamBehavior<MyClosedStreamBehavior>();
    cfg.AddOpenBehavior(typeof(MyOpenBehavior<,>));
    cfg.AddOpenStreamBehavior(typeof(MyOpenStreamBehavior<,>));
});

AddBehavior(Type, Type, ...) and AddStreamBehavior(Type, Type) remain only as compatibility shims. Prefer the typed or explicit closed-registration APIs for new code.

Getting Started

Install from NuGet once published:

dotnet add package Meridian.Mapping
dotnet add package Meridian.Mediator

Samples

This repo includes architecture-focused samples to show different ways to structure a project with the same core primitives:

Sample Architecture Style Focus
samples/Meridian.QuickStart Minimal Consumer Smallest end-to-end setup for mediator + mapping
samples/Meridian.Showcase Baseline End-to-end mapping + mediator feature showcase
samples/Meridian.CleanArchitecture Clean Architecture Domain/use-case boundaries, repository abstraction, transactional command flow
samples/Meridian.ModularMonolith Modular Monolith Module-level service registration and cross-module notifications
samples/Meridian.VerticalSlice Vertical Slice Feature-first request grouping with per-slice handlers and validation
samples/Meridian.EventDrivenCqrs Event-Driven CQRS Write/read split using commands, notifications, and timeline stream

Run a sample:

dotnet run --project samples/Meridian.CleanArchitecture/Meridian.CleanArchitecture.csproj

Testing

From repository root:

dotnet restore Meridian.sln
dotnet build Meridian.sln -c Release
dotnet test Meridian.sln -c Release

Validate every sample:

dotnet run --project samples/Meridian.QuickStart/Meridian.QuickStart.csproj -c Release
dotnet run --project samples/Meridian.Showcase/Meridian.Showcase.csproj -c Release
dotnet run --project samples/Meridian.CleanArchitecture/Meridian.CleanArchitecture.csproj -c Release
dotnet run --project samples/Meridian.ModularMonolith/Meridian.ModularMonolith.csproj -c Release
dotnet run --project samples/Meridian.VerticalSlice/Meridian.VerticalSlice.csproj -c Release
dotnet run --project samples/Meridian.EventDrivenCqrs/Meridian.EventDrivenCqrs.csproj -c Release

Preparing NuGet Packages

dotnet pack src/Meridian.Mapping/Meridian.Mapping.csproj -c Release --output ./artifacts
dotnet pack src/Meridian.Mediator/Meridian.Mediator.csproj -c Release --output ./artifacts
dotnet nuget push ./artifacts/Meridian.Mapping.*.nupkg --source https://api.nuget.org/v3/index.json --api-key <API_KEY>
dotnet nuget push ./artifacts/Meridian.Mediator.*.nupkg --source https://api.nuget.org/v3/index.json --api-key <API_KEY>
Product Compatible and additional computed target framework versions.
.NET 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.2 132 4/17/2026
2.1.1 141 4/16/2026
2.1.0 170 4/16/2026 2.1.0 has at least one vulnerability with high severity.
1.0.1 147 3/23/2026
1.0.0 143 3/23/2026