Mosaic 1.0.0-rc.2

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

Mosaic

The meta package — pulls in Mosaic.Abstractions, Mosaic.Runtime, and the source generator (configured as a build-time analyzer). Reference this in your composition root unless you need finer control over the dependencies.

var services = new ServiceCollection();
services.AddMosaic();              // generated extension; discovers every handler in the compilation
var sp = services.BuildServiceProvider();

var engine = sp.GetRequiredService<ICompositionEngine>();
var greeting = await engine.Send(new GetGreeting("world"));

Mosaic is a typed, source-generated mediator + view-model composition framework for .NET. Each handler contributes a tile; the framework assembles the picture.

  • Send — IRequest<TResponse> to one IRequestHandler<,>.
  • Compose — IComposable<TViewModel> to every IComposer<,> registered for that VM, in parallel.
  • Publish — IEvent to many IEventHandler<> implementations.

The dispatcher is source-generated in your composition root — no reflection at startup, no virtual calls on the hot path, AOT/trim-friendly. Handler discovery scans the consumer's compilation plus every transitively-referenced assembly that depends on Mosaic.Abstractions.

Cross-cutting features (atomic outbox, sagas, scheduled messages, cross-process transport, audit pipeline, recoverability policy, critical-error handler, AOT-friendly JSON) are opt-in via additional packages — see https://github.com/pikedev/mosaic for the full layout, design notes, and runnable samples.

There are no supported framework assets in this 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
1.0.0-rc.2 79 5/8/2026
1.0.0-rc.1 68 5/8/2026