MPCore.Localization 0.9.0

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

MP Core

ci licence .NET

A backend framework for .NET 10 that makes the decisions every service makes again: how a command runs, who opens and commits the transaction, how a message leaves with that transaction, how a failure becomes an HTTP or gRPC answer, how a token is validated, where logs and traces go. MP Core makes them once, with tests, and ships them as NuGet packages, a project template and a command-line generator.

You run one command, get a complete and secure backend, and write only your business logic.

dotnet tool install --global MPCore.Cli --version 0.9.0
dotnet new install MPCore.Templates::0.9.0

mpcore new backend --organization Acme --component Orders --output ./orders \
  --shape modular-monolith --transport both --messaging kafka \
  --cache hybrid --business-audit postgresql
Version 0.9.0. Stable packages; the public API may still change before 1.0.0 (versioning)
Platform .NET 10, SDK 10.0.400
Built on Wolverine, Entity Framework Core and Npgsql, OpenTelemetry, FluentValidation, gRPC
Licence Apache-2.0
Complete example mpcore-storefront-sample: an online store in three hosts, with every capability in use

What you get

You write MP Core does
A handler: a static method that takes a command and the ports it needs Opens the transaction, runs validators first, saves, commits, and only then releases the messages the handler published (transactional outbox)
A business rule as a named class, checked by the aggregate Reports it to the caller under its own code, as RFC 9457 Problem Details or a rich gRPC status, in the caller's language
Result.FromFailure(...) The same failure over REST and gRPC, and a retry decision on a queue
RequireIdempotencyKey() on an endpoint Stores the key and the answer in the transaction that commits the change; a repeat receives the stored answer
An integration event raised by an aggregate Delivers it to Kafka or RabbitMQ after the commit; a consumer's inbox stops a second delivery
Nothing Bearer-token validation, protect-by-default endpoints, a named actor in every audit record, logs, traces and metrics with redaction

What MP Core is not

  • It holds no business logic. No product entity, status or rule lives in the framework.
  • It is not a login server. A backend validates a token; sign-in belongs to an identity provider such as Keycloak.
  • It is not event sourcing, and not CQRS over two databases. Commands and queries are separate messages over one PostgreSQL database by default.

Learn it

Read To
Getting started Generate a backend and run it, in ten minutes
Concepts Understand the execution model, the failure model, the three kinds of message, and what is guaranteed when something fails or arrives twice
Packages Choose what to reference
The Storefront sample See all of it working together, with scenarios you can run
Decisions Learn why: every convention is an architecture decision record that names its sources
Release notes See what changed

A generated repository carries its own guides (docs/architecture.md, docs/capabilities.md, src/Modules/README.md) and skills for AI coding assistants (.mpcore/skills), written for the options you chose.

Packages

Group Packages
Core MPCore.Domain, MPCore.Application, MPCore.Hosting
Persistence MPCore.Persistence.Abstractions, MPCore.Persistence.EntityFrameworkCore.PostgreSql, MPCore.Persistence.Timescale
Messaging MPCore.Messaging.Abstractions, MPCore.Messaging.Wolverine, MPCore.Messaging.Wolverine.Kafka, MPCore.Messaging.Wolverine.RabbitMQ
Transport MPCore.Transport.Http, MPCore.Transport.Grpc
Security MPCore.Security.Abstractions, MPCore.Security.AspNetCore, MPCore.Tenancy.Abstractions
Validation and messages MPCore.Validation.FluentValidation, MPCore.Localization, MPCore.Localization.EntityFrameworkCore.PostgreSql
Idempotency MPCore.Idempotency.EntityFrameworkCore.PostgreSql
Audit MPCore.Audit.Abstractions, MPCore.Audit.EntityFrameworkCore.PostgreSql
Caching MPCore.Caching.Abstractions, MPCore.Caching.Memory, MPCore.Caching.Redis, MPCore.Caching.Hybrid
Operations MPCore.Observability, MPCore.Observability.Prometheus, MPCore.Resilience.Http
Tooling MPCore.Cli (the mpcore command), MPCore.Templates (dotnet new mpcore-backend)

docs/guide/packages.md says what each one is for.

Build and test this repository

dotnet restore MPCore.sln --locked-mode
dotnet build MPCore.sln --configuration Release --no-restore
dotnet test MPCore.sln --configuration Release --no-build

Unit tests need nothing else. The integration tests run against real services and are skipped unless these variables name them:

Variable Service
MPCORE_TEST_POSTGRESQL a disposable PostgreSQL database (connection string)
MPCORE_TEST_TIMESCALE a disposable TimescaleDB database (connection string)
MPCORE_TEST_REDIS Redis (host:port)

docker compose -f eng/compose.test.yaml up -d starts all three with the values the CI workflow uses.

Versioning

MP Core follows Semantic Versioning. While the major version is 0, a minor version may change the public API; release notes say what changed and how to move. Three rules hold from now on (ADR-010):

  • A published version is never rebuilt with different bytes. A corrected build takes the next version.
  • The runtime packages, the CLI and the template ship together, as one cohort under one version.
  • A generated repository references an exact version, never a range.

Contributing and security

CONTRIBUTING.md says how to propose a change. To report a vulnerability, follow SECURITY.md; do not open a public issue for it.

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 (1)

Showing the top 1 NuGet packages that depend on MPCore.Localization:

Package Downloads
MPCore.Localization.EntityFrameworkCore.PostgreSql

EF Core and PostgreSQL store for translations an administrator edits at run time: a table in the product's own context, a store port that joins the handler's transaction, and an override source that every instance refreshes.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
0.9.3 43 9/28/2026
0.9.2 45 9/28/2026
0.9.1 47 9/28/2026
0.9.0 53 9/27/2026