MediatR.Extensions.Microsoft.DependencyInjection.Libraries
0.9.0
See the version list below for details.
dotnet add package MediatR.Extensions.Microsoft.DependencyInjection.Libraries --version 0.9.0
NuGet\Install-Package MediatR.Extensions.Microsoft.DependencyInjection.Libraries -Version 0.9.0
<PackageReference Include="MediatR.Extensions.Microsoft.DependencyInjection.Libraries" Version="0.9.0" />
paket add MediatR.Extensions.Microsoft.DependencyInjection.Libraries --version 0.9.0
#r "nuget: MediatR.Extensions.Microsoft.DependencyInjection.Libraries, 0.9.0"
// Install MediatR.Extensions.Microsoft.DependencyInjection.Libraries as a Cake Addin
#addin nuget:?package=MediatR.Extensions.Microsoft.DependencyInjection.Libraries&version=0.9.0
// Install MediatR.Extensions.Microsoft.DependencyInjection.Libraries as a Cake Tool
#tool nuget:?package=MediatR.Extensions.Microsoft.DependencyInjection.Libraries&version=0.9.0
MediatR Libraries
We love Mediatr!
However, when adding Mediatr to the container (i.e. IServiceCollection), a complete list of assemblies to scan must be provided. This might not be known, especially when consuming a library which is consuming other libraries.
The convention in .net is for a library to provide an extension method for setting up its container registrations. These abstract the library's dependencies, and it can, in turn, call the extension methods of its dependencies.
This package provides a mechanism for following this convention when using Mediatr.
Library Mediatr Registrations
Within a library, MediatR registrations are added using .AddMeditatRLibrary(...).
// Add an assembly to be scanned by MediatR
serviceCollection.AddMeditatRLibrary(typeof(MyRequestHandler).Assembly);
// Add an assembly using a marker type
serviceCollection.AddMeditatRLibrary(typeof(MyRequestHandler));
// Add multiple assemlies
serviceCollection.AddMeditatRLibrary(typeof(MyRequestHandler), typeof(AnotherRequestHandler));
Main Program Mediatr Registration
Within the main program, replace the call to .AddMediator() with .AddMediatRIncludingLibraries(...)
// Register MediatR
serviceCollection.AddMediatRIncludingLibraries();
// Assemblies and Marker Types can still be added at this point
serviceCollection.AddMediatRIncludingLibraries(typeof(Startup));
Product | Versions 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 was computed. 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. |
.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 was computed. |
.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. |
-
.NETStandard 2.0
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.