Fast.OpenApi 3.5.26

dotnet add package Fast.OpenApi --version 3.5.26
                    
NuGet\Install-Package Fast.OpenApi -Version 3.5.26
                    
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="Fast.OpenApi" Version="3.5.26" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="Fast.OpenApi" Version="3.5.26" />
                    
Directory.Packages.props
<PackageReference Include="Fast.OpenApi" />
                    
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 Fast.OpenApi --version 3.5.26
                    
#r "nuget: Fast.OpenApi, 3.5.26"
                    
#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 Fast.OpenApi@3.5.26
                    
#: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=Fast.OpenApi&version=3.5.26
                    
Install as a Cake Addin
#tool nuget:?package=Fast.OpenApi&version=3.5.26
                    
Install as a Cake Tool

简体中文 | English

<p align="center"> <img src="Fast.png" width="160" alt="Fast.NET Logo" /> </p>

<h1 align="center">Fast.NET</h1>

<p align="center"> A modular infrastructure SDK for modern .NET applications </p>

<p align="center"> <a href="https://www.nuget.org/packages/Fast.NET.Core"><img src="https://img.shields.io/nuget/v/Fast.NET.Core.svg?label=Fast.NET.Core&logo=nuget" alt="NuGet version" /></a> <a href="https://www.nuget.org/packages/Fast.NET.Core"><img src="https://img.shields.io/nuget/dt/Fast.NET.Core.svg?logo=nuget" alt="NuGet downloads" /></a> <img src="https://img.shields.io/badge/.NET-8.0%20%7C%209.0%20%7C%2010.0-512BD4?logo=dotnet" alt="Supported .NET versions" /> <a href="LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue.svg" alt="Apache-2.0 License" /></a> </p>

Fast.NET is a set of composable .NET infrastructure libraries covering web application initialization, dependency injection, caching, event handling, logging, object mapping, authentication, data access, serialization, dynamic APIs, unified responses, Swagger/OpenAPI, and Consul integration. Every capability is delivered as an independent NuGet package, so applications reference only the modules they need.

Fast.NET is not an all-or-nothing framework. It is a family of SDK components with a consistent design and configuration experience for ASP.NET Core, Worker Services, and other modern .NET applications supported by each module.

Why Fast.NET

  • Modular by design: 17 independent packages keep unrelated dependencies out of your application.
  • Supported .NET releases: the primary modules target net8.0, net9.0, and net10.0 together.
  • Reusable foundation: Fast.IaaS stays on netstandard2.1 for broad reuse across modern .NET projects.
  • Idiomatic integration: consistent extension methods for IServiceCollection, WebApplicationBuilder, and IApplicationBuilder.
  • Independent adoption: caching, logging, serialization, data access, and other modules can be used without adopting the entire stack.
  • Release ready: deterministic builds, centrally managed dependencies, vulnerability auditing, symbol packages, CI, and an explicitly confirmed publishing script.

Compatibility

Item Supported range
Primary SDK modules net8.0; net9.0; net10.0
Fast.IaaS netstandard2.1
Build SDK .NET SDK 10.0.100 selected by global.json, with roll-forward to newer feature bands
C# language version C# 14
License Apache-2.0

netstandard2.1 does not support the classic .NET Framework. Applications that still run on .NET Framework require a separate compatibility assessment.

Quick start

1. Install the modules you need

Fast.NET does not require an umbrella package. Select the NuGet packages needed by your application:

dotnet add package Fast.NET.Core
dotnet add package Fast.Serialization.System.Text.Json
dotnet add package Fast.Swagger

Add Redis caching, JWT authentication, or SqlSugar only when needed:

dotnet add package Fast.Cache
dotnet add package Fast.JwtBearer
dotnet add package Fast.SqlSugar

Fast.Serialization.System.Text.Json and Fast.Serialization.Newtonsoft.Json expose serialization extensions with the same style. Most applications should choose one according to their serialization stack.

2. Register services

The following ASP.NET Core example combines several modules. Keep only the registrations for packages installed by your application.

using Fast.Cache;
using Fast.DependencyInjection;
using Fast.DynamicApplication;
using Fast.EventBus;
using Fast.JwtBearer;
using Fast.Logging;
using Fast.Mapster;
using Fast.NET.Core;
using Fast.OpenApi;
using Fast.Serialization;
using Fast.SqlSugar;
using Fast.Swagger;
using Fast.UnifyResult;

var builder = WebApplication.CreateBuilder(args);

builder.Initialize();
builder.AddCorsAccessor();

builder.Services.AddSerialization();
builder.Services.AddGzipCompression();
builder.Services.AddMapster();
builder.Services.AddDependencyInjection();
builder.Services.AddEventBus();
builder.Services.AddCache();
builder.Services.AddLoggingService(builder.Configuration);
builder.Services.AddSqlSugar(builder.Configuration, builder.Environment);
builder.Services.AddJwtBearer(builder.Configuration);
builder.Services.AddUnifyResult();
builder.Services.AddControllers();
builder.Services.AddDynamicApplication();
builder.Services.AddSwaggerDocuments(builder.Configuration);
builder.Services.AddOpenApi(builder.Configuration);

var app = builder.Build();

app.UseHttpsRedirection();
app.UseStaticFiles();
app.EnableBuffering();
app.UseRouting();
app.UseSwaggerDocuments();
app.MapControllers();

app.Run();

For each module's default configuration section and optional parameters, see its *SettingsOptions types and extension method XML documentation.

Architecture

flowchart TB
    app["ASP.NET Core / Worker / Console applications"]

    subgraph api["Web and API integration"]
        swagger["Fast.Swagger"]
        openapi["Fast.OpenApi"]
        dynamic["Fast.DynamicApplication"]
        unify["Fast.UnifyResult"]
        jwt["Fast.JwtBearer"]
        consul["Fast.Consul"]
    end

    subgraph capability["Infrastructure capabilities"]
        cache["Fast.Cache"]
        eventbus["Fast.EventBus"]
        logging["Fast.Logging"]
        mapster["Fast.Mapster"]
        di["Fast.DependencyInjection"]
        sqlsugar["Fast.SqlSugar"]
        serialization["Fast.Serialization.*"]
    end

    subgraph foundation["Core foundation"]
        core["Fast.NET.Core"]
        runtime["Fast.Runtime"]
        iaas["Fast.IaaS · netstandard2.1"]
    end

    app --> api
    app --> capability
    api --> foundation
    capability --> foundation
    core --> runtime
    swagger --> dynamic
    dynamic --> unify
    consul --> core
    consul --> iaas

This diagram presents the responsibility layers. See the architecture guide for actual project references, startup flow, and extension boundaries.

Package catalog

NuGet package Primary capability Target frameworks Source
Fast.Runtime ASP.NET Core runtime foundation, contexts, and shared extensions .NET 8–10 src/Runtime
Fast.IaaS General extensions, validation, file, and cryptography utilities .NET Standard 2.1 src/IaaS
Fast.NET.Core Application initialization, configuration loading, CORS, and compression .NET 8–10 src/Core
Fast.Cache Redis caching built on CSRedisCore .NET 8–10 src/Cache
Fast.Consul Consul service registration, health checks, and KV integration .NET 8–10 src/Consul
Fast.DependencyInjection Convention-based dependency injection and service scanning .NET 8–10 src/DependencyInjection
Fast.DynamicApplication Dynamic APIs and application service discovery .NET 8–10 src/DynamicApplication
Fast.EventBus In-process event publishing, subscription, and background consumption .NET 8–10 src/EventBus
Fast.JwtBearer JWT Bearer configuration, authentication, and authorization helpers .NET 8–10 src/JwtBearer
Fast.Logging Console and file logging extensions .NET 8–10 src/Logging
Fast.Mapster Mapster object-mapping integration .NET 8–10 src/Mapster
Fast.OpenApi OpenAPI models, schemas, and type-conversion utilities .NET 8–10 src/OpenApi
Fast.Serialization.System.Text.Json System.Text.Json configuration, converters, and data masking .NET 8–10 src/Serialization.System.Text.Json
Fast.Serialization.Newtonsoft.Json Newtonsoft.Json configuration, converters, and data masking .NET 8–10 src/Serialization.Newtonsoft.Json
Fast.SqlSugar SqlSugar integration, multi-database settings, repositories, and paging models .NET 8–10 src/SqlSugar
Fast.Swagger Swagger documents, grouping, security definitions, and filters .NET 8–10 src/Swagger
Fast.UnifyResult RESTful unified responses, exception handling, and validation .NET 8–10 src/UnifyResult

Repository layout

Fast.NET/
├─ src/                         # 17 independently published SDK modules
├─ docs/                        # Bilingual usage, architecture, and release guides
├─ .github/                     # GitHub CI workflow
├─ translateTool/               # Vue i18n text extraction and update tool
├─ Directory.Build.props        # Shared target, package, and repository metadata
├─ Directory.Packages.props     # Central NuGet dependency versions
├─ global.json                  # .NET SDK selection policy
├─ Fast.NET.sln                 # Main solution
├─ UploadNuget.bat              # Build, pack, and optional publishing entry point
├─ README.zh.md / README.md     # Chinese and English entry points
└─ LICENSE                      # Apache-2.0 license

Local build

Install a .NET SDK compatible with global.json, then run:

dotnet restore Fast.NET.sln
dotnet build Fast.NET.sln -c Release --no-restore

Build and pack all SDK projects on Windows:

UploadNuget.bat pack

Create NuGet packages separately:

dotnet pack Fast.NET.sln -c Release --no-build --no-restore -p:WarnOnPackingNonPackableProject=false

Builds don't implicitly create packages. UploadNuget.bat explicitly restores, builds, and then packs into nupkgs; publishing is an optional final step and always requires an explicit PUBLISH confirmation.

Documentation and collaboration

Before submitting code, build every affected target framework and keep public Chinese and English documentation synchronized.

License

Fast.NET is released under the Apache License 2.0. Use, modification, and distribution must comply with the license and applicable laws.

Maintainer

Created and maintained by Xiao Fang (1.8K Zai). Issues and pull requests are welcome to help make Fast.NET a reliable and composable infrastructure option for the .NET ecosystem.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  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

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
3.5.26 36 8/4/2026
3.5.25 99 7/16/2026
3.5.24 141 3/1/2026
3.5.23 127 1/29/2026
3.5.22 136 1/28/2026
3.5.21 130 1/18/2026
3.5.20 123 1/17/2026
3.5.19 134 1/17/2026
3.5.18 122 1/17/2026
3.5.17 123 1/17/2026
3.5.16 219 12/25/2025
3.5.15 208 12/25/2025
3.5.14 200 12/21/2025
3.5.13 217 12/13/2025
3.5.12 159 12/13/2025
3.5.11 226 11/27/2025
3.5.10 221 11/27/2025
3.5.9 223 11/27/2025
3.5.8 219 11/23/2025
3.5.7 444 11/18/2025
Loading failed