Skip to main content
Browse 24 docs across 5 tracksINDEX ▾

Target Frameworks & Compatibility

AstraFlow multi-targets modern .NET releases and netstandard2.0 across its core packages so shared class libraries, background workers, and ASP.NET Core hosts can adopt the suite consistently.

Framework Support Check

Verify compatibility across your solution projects before referencing host-specific adapters:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <!-- Core packages support netstandard2.0, net8.0, net9.0, and net10.0 -->
    <TargetFramework>net10.0</TargetFramework>
    <Nullable>enable</Nullable>
    <ImplicitUsings>enable</ImplicitUsings>
  </PropertyGroup>
</Project>

Target Framework Matrix

Target Group Supported TFMs Packages
Core & Testing netstandard2.0, net8.0, net9.0, net10.0 AstraFlow, AstraFlow.Contracts, AstraFlow.Mediator, AstraFlow.Mapper, AstraFlow.Mapper.Conventions, AstraFlow.Diagnostics, AstraFlow.Security, AstraFlow.Testing, AstraFlow.Assertions
Cross-LTS Integrations net8.0, net9.0, net10.0 AstraFlow.FluentValidation, AstraFlow.OpenTelemetry
Modern Runtime Hosts & Tools net10.0 AstraFlow.AspNetCore, AstraFlow.Mapper.EntityFrameworkCore, AstraFlow.Cli
Roslyn Build-Time Tooling netstandard2.0 AstraFlow.Analyzers, AstraFlow.Generators

Version Support & NuGet Lifecycle

Release Line Status NuGet.org Availability Guidance
2.x (2.0.0 – current) Active & Supported Published and maintained Use for all new and existing .NET applications
1.x (1.0.0 – 1.13.1) Deprecated Legacy Marked deprecated on NuGet.org Upgrade to the 2.x line using the Migration & Troubleshooting Guide

C# Language & Nullable Support

  • Nullable reference types (#nullable enable): Every public interface, option type, attribute, and extension method carries accurate nullable annotations (IMapper.Map<TDestination>(object? source), ISecureIdCodec.TryDecrypt(string? encryptedId)).
  • netstandard2.0 compatibility: Shared polyfills such as IsExternalInit are included internally where needed so netstandard2.0 consumers work cleanly with modern C# compilers.
  • Cancellation tokens everywhere: ISender, IStreamSender, IPublisher, handlers, behaviors, pre/post processors, and exception handlers propagate CancellationToken consistently across async boundaries.

Trimming, Startup Determinism, and AOT Readiness

  • Source-generated DI and mapping: Pair AstraFlow.Generators (AddAstraFlowGeneratedMediatorRegistrations() and [AstraGenerateMapping]) to replace assembly scanning and runtime reflection for known handler and DTO types.
  • Explicit mapping catalogs: IDeclaredObjectMappingRule and IProjection<,> avoid runtime dynamic proxy generation and expose deterministic metadata at compile time and startup.
  • Safe netstandard2.0 analyzer hosting: Because AstraFlow.Analyzers and AstraFlow.Generators target netstandard2.0, they load inside both Visual Studio / IDE design-time builds and modern .NET SDK builds.