Resrcify.SharedKernel.Abstractions 4.4.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Resrcify.SharedKernel.Abstractions --version 4.4.0
                    
NuGet\Install-Package Resrcify.SharedKernel.Abstractions -Version 4.4.0
                    
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="Resrcify.SharedKernel.Abstractions" Version="4.4.0" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Resrcify.SharedKernel.Abstractions" Version="4.4.0" />
                    
Directory.Packages.props
<PackageReference Include="Resrcify.SharedKernel.Abstractions" />
                    
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 Resrcify.SharedKernel.Abstractions --version 4.4.0
                    
#r "nuget: Resrcify.SharedKernel.Abstractions, 4.4.0"
                    
#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 Resrcify.SharedKernel.Abstractions@4.4.0
                    
#: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=Resrcify.SharedKernel.Abstractions&version=4.4.0
                    
Install as a Cake Addin
#tool nuget:?package=Resrcify.SharedKernel.Abstractions&version=4.4.0
                    
Install as a Cake Tool

Resrcify.SharedKernel.Abstractions

Resrcify.SharedKernel.Abstractions contains shared contracts used by other SharedKernel modules.

It exists to keep dependency direction explicit and prevent circular references between implementation projects.

Table of Contents

What you get

  • Contracts grouped by module under src/Resrcify.SharedKernel.Abstractions:
    • Mediator/
    • MessageBus/
    • UnitOfWork/
    • DomainDrivenDesign/
    • Repository/
    • Caching/
    • Resilience/: ITransientFailureRule and ITransientFailureClassifier, the hook that adds a package's or a service's own rules to Results' transient rule (services.AddTransientFailureRule<TRule>(), AddTransientFailureRule(Func<Exception, bool>), TryAddTransientFailureClassifier(), which registers the default classifier: the built-in rule OR every registered rule, for the exception and each of its causes), and RetrySchedule(MaxAttempts, FirstDelay, MaxDelay, Jitter), SharedKernel's one backoff: attempts in all, the first delay doubling up to the longest (DelayAfter(failedAttempt)), which the outbox, the message bus and the HTTP resilience pipeline take as their retry options.
  • Interfaces/contracts only, but for the resilience registration and its default classifier. (One interface carries a default: ISingleValueObject's static FromPersisted is Create(value).Value unless the value object implements it.)

Prerequisites

  • .NET 10 SDK.

Install

Option A: Project reference

<ProjectReference Include="..\path\to\Resrcify.SharedKernel.Abstractions.csproj" />

Option B: NuGet package

<PackageReference Include="Resrcify.SharedKernel.Abstractions" Version="<latest>" />

CLI:

dotnet add package Resrcify.SharedKernel.Abstractions

Folder and namespace conventions

  • Keep namespace declarations aligned to folder structure from src/ and tests/ roots.
  • Use module-rooted namespaces such as:
    • Resrcify.SharedKernel.Abstractions.Mediator
    • Resrcify.SharedKernel.Abstractions.Repository
    • Resrcify.SharedKernel.Abstractions.DomainDrivenDesign
    • Resrcify.SharedKernel.Abstractions.UnitOfWork
  • When moving files, update both namespace declarations and corresponding using directives in the same change.

Usage guide

Reference this project from modules that should depend only on contracts.

using Resrcify.SharedKernel.Abstractions.Mediator;
using Resrcify.SharedKernel.Abstractions.UnitOfWork;

public sealed class ExampleService(
    ISender sender,
    IUnitOfWork unitOfWork)
{
    public async Task ExecuteAsync(
        IRequest<Result> request,
        CancellationToken cancellationToken)
    {
        await sender.Send(request, cancellationToken);
        await unitOfWork.CompleteAsync(cancellationToken);
    }
}

Common issues

  • If a module starts referencing implementation projects just for interfaces, move those contracts into this project.
  • If namespace drift appears after file moves, run a namespace audit and fix declarations immediately.
Product Compatible and additional computed target framework versions.
.NET 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 (10)

Showing the top 5 NuGet packages that depend on Resrcify.SharedKernel.Abstractions:

Package Downloads
Resrcify.SharedKernel.DomainDrivenDesign

Implements the different building blocks used in Domain Driven Desing.

Resrcify.SharedKernel.Caching

Adds interfaces and implements different caching options using the IDistributedCache interfaces.

Resrcify.SharedKernel.Web

ASP.NET Core helpers around the result pattern: problem details for failures and unhandled exceptions, reading responses back as results, health endpoints, an ErrorType-keyed HTTP resilience preset and the shared JWT bearer setup.

Resrcify.SharedKernel.Messaging

Implements custom messaging abstractions with support for request/notification dispatching and pipeline behaviors.

Resrcify.SharedKernel.UnitOfWork

Implements a unit of work pattern, including interceptors using EntityFrameworkCore.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
4.4.1 0 10/17/2026
4.4.0 45 10/16/2026
4.3.0 66 10/16/2026
4.2.0 122 10/14/2026
4.1.0 102 10/14/2026
4.0.0 223 10/13/2026
3.0.0 219 10/3/2026
2.2.0 218 9/13/2026
2.1.1 1,575 6/8/2026
2.1.0 201 5/24/2026
2.0.0 207 5/22/2026
1.16.3 324 5/7/2026
1.16.2 189 5/7/2026
1.16.1 186 5/7/2026
1.16.0 196 5/7/2026
1.15.0 558 4/18/2026