Back to Fastendpoints

Dependencies

.okf/dependencies.md

8.32.3 KB
Original Source

Dependencies

Runtime

  • Language: C# (LangVersion latest)
  • TFMs (libraries): net8.0; net9.0; net10.0 (default from Src/Directory.Build.props)
  • Exceptions: Generator → netstandard2.0; Attributes → netstandard2.0 + net8/9/10; Agents Mcp/A2A → net9.0;net10.0
  • Tests / harnesses: net10.0
  • ASP.NET: FrameworkReference Microsoft.AspNetCore.App where needed

Packages

  • Central versions: root Directory.Packages.props (ManagePackageVersionsCentrally)
  • Do not duplicate PackageVersion in leaf projects; use PackageReference Include only
  • NuGet audit mode: direct

Key libraries

LibraryRole
FluentValidationRequest validators
Microsoft.AspNetCore.Authentication.JwtBearerSecurity package (version per TFM)
Microsoft.AspNetCore.OpenApi / Scalar.AspNetCoreOpenAPI docs (modern path)
NSwag.*Legacy Swagger/ClientGen (deprecate note in Directory.Packages.props)
Grpc.AspNetCore.Server / Grpc.Net.Client*Remote messaging
MessagePackDefault RPC marshalling
protobuf-net / Grpc.ReflectionProtobuf wire format + gRPC reflection (Messaging.Remote.Reflection only)
Microsoft.AspNetCore.ODataOData package
ModelContextProtocol.AspNetCoreAgents MCP; v2.x targets the 2026-07-28 MCP spec (stateless-by-default transport, backward compatible with the addon's v1-style handler wiring)
Microsoft.CodeAnalysis.CSharp [4.11.0]Generators; pinned for net8 compatibility (comment in props)
Microsoft.OpenApi.Kiota.Builder [1.29.1]Pinned; Kiota OpenAPI 3.x vs AspNetCore.OpenApi 2.x mismatch
xunit.v3, Shouldly, FakeItEasy, BogusTest stack
BenchmarkDotNet, NBomberBenchmarks / load

Constraints

  • Bump of Microsoft.CodeAnalysis.CSharp or Kiota builder needs explicit compatibility validation (comments in Directory.Packages.props).
  • TFM-conditional package versions for JwtBearer, TestHost, Mvc.Testing, Asp.Versioning (8/9/10 groups).
  • Library version single-sourced in Src/Directory.Build.props; Agents override Version per csproj.
  • Strong-name key required for pack/sign; InternalsVisibleTo entries must use the public key.

Sources

  • Directory.Packages.props
  • Src/Directory.Build.props
  • Src/Library/FastEndpoints.csproj
  • Src/Generator/FastEndpoints.Generator.csproj