π§π· Leia em PortuguΓͺs

A collection of opinionated metapackages to standardize and accelerate .NET 9 | 10 development.
Instead of installing the same libraries repeatedly across every microservice or project,
reference the MVFC.Pack package that matches your layer β versions are pinned and the best
tooling is included by default.
In any multi-project organization, you inevitably face:
- Version drift: different projects pulling incompatible versions of the same library.
- Bootstrapping tax: every new service requires the same
dotnet add package ritual.
- Inconsistency: different developers choose different logging, validation or testing tools.
MVFC.Pack eliminates this by providing a curated set of metapackages β one per layer β
that lock versions, enforce tooling standards and get your project running immediately.
dotnet add package MVFC.Pack.Api
dotnet add package MVFC.Pack.Domain
dotnet add package MVFC.Pack.IoC
dotnet add package MVFC.Pack.Observability
dotnet add package MVFC.Pack.Cache
dotnet add package MVFC.Pack.Analyzers
dotnet add package MVFC.Pack.Testing
Metapackages require no extra configuration β install and use:
// MVFC.Pack.Api β Serilog, OpenApi, JWT, HealthChecks ready
builder.Host.UseSerilog();
builder.Services.AddOpenApi();
builder.Services.AddAuthentication(JwtBearerDefaults.AuthenticationScheme)
.AddJwtBearer();
// MVFC.Pack.Testing β xUnit v3, FluentAssertions, NSubstitute, Testcontainers ready
public class OrderServiceTests
{
private readonly IOrderRepository _repo = Substitute.For<IOrderRepository>();
[Fact]
public async Task CreateOrder_ShouldReturnCreatedOrder()
{
var result = await _sut.CreateAsync(new CreateOrderRequest(...));
result.Should().NotBeNull();
}
}
// MVFC.Pack.Analyzers β SonarAnalyzer, Roslynator, Meziantou
// activate automatically at build time, no code required.
| Package |
Version |
| Serilog.AspNetCore |
10.0.0 |
| Serilog.Sinks.File |
7.0.0 |
| Serilog.Sinks.Console |
6.1.1 |
| Microsoft.AspNetCore.OpenApi |
10.0.3 |
| Microsoft.AspNetCore.Authentication.JwtBearer |
10.0.3 |
| Asp.Versioning.Http |
8.1.1 |
| AspNetCore.Scalar |
1.2.0 |
| Microsoft.Extensions.Diagnostics.HealthChecks |
10.0.3 |
| AspNetCore.HealthChecks.UI.Client |
9.0.0 |
| Package |
Version |
| MediatR |
12.5.0 |
| Refit |
10.0.1 |
| Refit.HttpClientFactory |
10.0.1 |
| FluentResults |
4.0.0 |
| FluentValidation |
12.1.1 |
| Package |
Version |
| MediatR |
12.5.0 |
| ServiceScan.SourceGenerator |
2.4.1 |
| FluentValidation.DependencyInjectionExtensions |
12.1.1 |
| Microsoft.Extensions.Http |
10.0.3 |
| Microsoft.Extensions.Http.Resilience |
10.3.0 |
| Package |
Version |
| Microsoft.Extensions.Http.Resilience |
10.3.0 |
| Microsoft.Extensions.ServiceDiscovery |
10.3.0 |
| OpenTelemetry.Exporter.OpenTelemetryProtocol |
1.15.0 |
| OpenTelemetry.Extensions.Hosting |
1.15.0 |
| OpenTelemetry.Instrumentation.AspNetCore |
1.15.0 |
| OpenTelemetry.Instrumentation.Http |
1.15.0 |
| OpenTelemetry.Instrumentation.Runtime |
1.15.0 |
| Package |
Version |
| StackExchange.Redis |
2.11.3 |
| Microsoft.Extensions.Caching.StackExchangeRedis |
10.0.3 |
| Microsoft.Extensions.Caching.Hybrid |
10.3.0 |
| Package |
Version |
| Microsoft.CodeAnalysis.NetAnalyzers |
10.0.103 |
| SonarAnalyzer.CSharp |
10.19.0.132793 |
| Roslynator.Analyzers |
4.15.0 |
| Meziantou.Analyzer |
3.0.15 |
| Package |
Version |
| xunit.v3 |
3.2.2 |
| xunit.v3.extensibility.core |
3.2.2 |
| xunit.runner.visualstudio |
3.1.5 |
| Microsoft.NET.Test.Sdk |
18.0.1 |
| FluentAssertions |
7.0.0 |
| NSubstitute |
5.3.0 |
| Microsoft.AspNetCore.Mvc.Testing |
10.0.3 |
| Bogus |
35.6.5 |
| AutoBogus |
2.13.1 |
| Testcontainers |
4.10.0 |
-
MVFC.Pack.Api β Structured logs (Serilog), API docs (OpenApi/Scalar), versioning
(Asp.Versioning), JWT auth and standardized Health Checks out of the box.
-
MVFC.Pack.Domain β CQRS via MediatR, declarative HTTP clients (Refit), error handling
without exceptions (FluentResults) and fluent object validation (FluentValidation).
-
MVFC.Pack.IoC β Source-generated mediator registration for maximum performance,
automatic service scanning (ServiceScan), FluentValidation DI integration and resilient HTTP
clients via HttpClientFactory + Polly.
-
MVFC.Pack.Observability β Full observability stack: distributed tracing, metrics,
automatic instrumentation (OpenTelemetry), dynamic service resolution (Service Discovery)
and HTTP resilience. Essential for microservices and cloud-native architectures.
-
MVFC.Pack.Cache β Distributed cache with Redis (StackExchange), aligned with .NET
native abstractions and the new Hybrid Cache for flexible L1/L2 strategies.
-
MVFC.Pack.Analyzers β Continuous code quality enforcement at build time via
SonarAnalyzer, Roslynator and Meziantou.Analyzer. No configuration needed β rules activate
automatically.
-
MVFC.Pack.Testing β Full testing ecosystem: xUnit v3, NSubstitute, Bogus + AutoBogus
for realistic fake data, FluentAssertions for expressive assertions and Testcontainers for
disposable infrastructure.
src/
MVFC.Pack.Api/
MVFC.Pack.Domain/
MVFC.Pack.IoC/
MVFC.Pack.Observability/
MVFC.Pack.Cache/
MVFC.Pack.Analyzers/
MVFC.Pack.Testing/
tests/
MVFC.Pack.Tests/
See CONTRIBUTING.md.
Apache-2.0