Ark.Tools.MediatorFramework
7.0.0-beta05
dotnet add package Ark.Tools.MediatorFramework --version 7.0.0-beta05
NuGet\Install-Package Ark.Tools.MediatorFramework -Version 7.0.0-beta05
<PackageReference Include="Ark.Tools.MediatorFramework" Version="7.0.0-beta05" />
<PackageVersion Include="Ark.Tools.MediatorFramework" Version="7.0.0-beta05" />
<PackageReference Include="Ark.Tools.MediatorFramework" />
paket add Ark.Tools.MediatorFramework --version 7.0.0-beta05
#r "nuget: Ark.Tools.MediatorFramework, 7.0.0-beta05"
#:package Ark.Tools.MediatorFramework@7.0.0-beta05
#addin nuget:?package=Ark.Tools.MediatorFramework&version=7.0.0-beta05&prerelease
#tool nuget:?package=Ark.Tools.MediatorFramework&version=7.0.0-beta05&prerelease

Ark.Tools
This is a set of core libraries developed and maintained by Ark as a set of helper or extensions of the libraries Ark chooses to use in their LOB applications.
Repository Structure
- src/ - Source code organized by category:
- common/ - Core common packages (Ark.Tools.Core, Ark.Tools.NLog, Ark.Tools.Sql, etc.)
- aspnetcore/ - ASP.NET Core packages (Ark.Tools.AspNetCore.*)
- resourcewatcher/ - Resource Watcher packages (Ark.Tools.ResourceWatcher.*)
- samples/ - Sample applications and the Ark.ReferenceProject demonstrating library usage
- test/ - Unit and integration tests for individual packages (reserved for future use)
- docs/ - Documentation including migration guides
Getting Started
All libraries are provided via NuGet.
Supported Frameworks:
- .NET 8.0 LTS
- .NET 10.0
Sample Applications
To see the libraries in action, check out the sample applications in the samples/ folder:
Ark.ReferenceProject - A complete ASP.NET Core API example demonstrating:
- RESTful API implementation with Swashbuckle/OpenAPI
- Authentication and authorization patterns
- Database integration with SQL Server
- NLog structured logging
- Reqnroll BDD tests
- SimpleInjector dependency injection
TestWorker - A Resource Watcher implementation example showing:
- Background worker service patterns
- Resource monitoring and processing
- File system watching capabilities
- Integration with Ark.Tools.ResourceWatcher packages
Both samples include full working code that you can use as a reference for your own projects.
Quick Start
Ark.Tools SDK
Ark-owned .NET solutions can opt into the standardized build, analyzer,
packaging, content, and framework-neutral MTP profile with the additional
Ark.Tools.Sdk. See the SDK capability reference for
activation, defaults, property overrides, package references, and adoption
guidance.
The main libraries used by Ark in its stack are:
- NodaTime - Date and time API
- SimpleInjector - Dependency injection
- Polly - Resilience and transient fault handling
- Dapper - Simple object mapper for .NET
- AspNetCore - Web framework
If you want to learn more about each project, look at the respective README files when present or directly at the code. Documentation improvements are welcome!
Compliance (PII & secrets protection)
The Ark.Tools.Compliance package family provides privacy-by-default: data
classification attributes, sensitive value objects, ARKPII* analyzers, SQL
sensitivity/masking DDL generation, and runtime log redaction. See the
Compliance consumer guide.
Migration Guides
Upgrading from an older version? Check out our migration guides:
- Release Notes v7 beta - SDK, Compliance, Mediator Framework, OTel, and performance
- Migration to v7 - Upgrade from v6.0.6, including ejected ReferenceProject solutions
- Release Notes v6 - What's new in v6.0
- Migration to v6 - Complete migration guide from v5 to v6
- Migration to v5 - .NET 8.0, Reqnroll, Flurl v4, Rebus v8
- Migration to v4.5 - NLog v5, Structured Logging, Slack integration
- Migration from v2 to v3 - AspNetCore v5, Microsoft.Data.SqlClient, Flurl v3
Building & Testing
# Start test dependencies (SQL Server + Azurite)
cd samples/Ark.ReferenceProject
docker-compose up -d
cd ../..
# Restore packages
dotnet restore
# Build the solution
dotnet build --configuration Debug
# Run tests
dotnet test --configuration Debug
Contributing
Feel free to send PRs or to raise issues if you spot them. We try our best to improve our libraries.
Guidelines:
- Avoid adding unnecessary 3rd party dependencies
- Documentation improvements are always welcome
- Follow existing code style and patterns
Links
License
This project is licensed under the MIT License - see the LICENSE file for details.
License Claims
A part of this code is taken from StackOverflow, blogs, or examples. Where possible we included references to original links, but if you spot any missing acknowledgment please open an Issue right away.
| Product | Versions 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. |
-
net10.0
- Ark.Tools.Outbox (= 7.0.0-beta05)
- Ark.Tools.Solid (= 7.0.0-beta05)
- Macross.Json.Extensions (>= 3.0.0)
- MailKit (>= 4.18.0)
- Microsoft.Data.SqlClient (>= 7.1.0)
- Microsoft.Extensions.Caching.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Compliance.Abstractions (>= 10.10.0)
- Microsoft.Extensions.Compliance.Redaction (>= 10.10.0)
- Microsoft.Extensions.Configuration (>= 10.0.12)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.12)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Hosting.Abstractions (>= 10.0.12)
- Microsoft.Extensions.Logging.Abstractions (>= 10.0.12)
- Microsoft.Extensions.ObjectPool (>= 10.0.12)
- Microsoft.Extensions.Options (>= 10.0.12)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.12)
- Microsoft.Extensions.Telemetry (>= 10.10.0)
- Microsoft.Extensions.Telemetry.Abstractions (>= 10.10.0)
- Microsoft.IdentityModel.JsonWebTokens (>= 8.23.0)
- Microsoft.IdentityModel.Protocols (>= 8.23.0)
- Microsoft.IdentityModel.Protocols.OpenIdConnect (>= 8.23.0)
- Newtonsoft.Json (>= 13.0.4)
- NLog (>= 6.2.1)
- NLog.Database (>= 6.0.3)
- NLog.DiagnosticSource (>= 6.1.4)
- NLog.MailKit (>= 6.1.5)
- NodaTime (>= 3.3.4)
- NodaTime.Serialization.SystemTextJson (>= 1.4.0)
- protobuf-net (>= 3.4.30)
- Slack.Webhooks (>= 1.1.6)
- System.Configuration.ConfigurationManager (>= 10.0.12)
- System.IdentityModel.Tokens.Jwt (>= 8.23.0)
NuGet packages (7)
Showing the top 5 NuGet packages that depend on Ark.Tools.MediatorFramework:
| Package | Downloads |
|---|---|
|
Ark.Tools.MediatorFramework.AzureFunctions
Azure Functions isolated-worker HTTP and messaging hosting for Ark.Tools MediatorFramework. |
|
|
Ark.Tools.MediatorFramework.Grpc
Code-first gRPC transport runtime package for Ark.Tools MediatorFramework. Bundles source generation and automatic build-time export of generated service contracts, shared assets, and MapArkGrpcServicesFromAssembly for [GrpcMethod]-annotated contracts. |
|
|
Ark.Tools.MediatorFramework.MinimalApi
Minimal API (ASP.NET Core) transport runtime package for Ark.Tools MediatorFramework. Bundles the source generator that emits MapArkEndpointsFromAssembly for [HttpEndpoint]-annotated contracts. |
|
|
Ark.Tools.MediatorFramework.AzureFunctions.SimpleInjector
Opt-in SimpleInjector bridge for Ark.Tools.MediatorFramework.AzureFunctions consumers that compose their application with SimpleInjector. |
|
|
Ark.Tools.MediatorFramework.Rebus
Rebus message-bus transport runtime package for Ark.Tools MediatorFramework. Bundles the source generator that emits RegisterArkRebusHandlersFromAssembly and IHandleMessages wrappers for [RebusMessage]-annotated contracts. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 7.0.0-beta05 | 55 | 9/23/2026 |