Fast.IaaS
3.5.29
dotnet add package Fast.IaaS --version 3.5.29
NuGet\Install-Package Fast.IaaS -Version 3.5.29
<PackageReference Include="Fast.IaaS" Version="3.5.29" />
<PackageVersion Include="Fast.IaaS" Version="3.5.29" />
<PackageReference Include="Fast.IaaS" />
paket add Fast.IaaS --version 3.5.29
#r "nuget: Fast.IaaS, 3.5.29"
#:package Fast.IaaS@3.5.29
#addin nuget:?package=Fast.IaaS&version=3.5.29
#tool nuget:?package=Fast.IaaS&version=3.5.29
简体中文 | English
<p align="center"> <img src="./Fast.png" width="128" alt="Fast.NET Logo" /> </p>
<h1 align="center">Fast.NET</h1>
<p align="center"> <a href="https://www.nuget.org/packages/Fast.NET.Core"><img src="https://img.shields.io/nuget/v/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" alt="NuGet downloads" /></a> <a href="./LICENSE"><img src="https://img.shields.io/badge/license-Apache--2.0-blue" alt="License" /></a> </p>
A modular infrastructure SDK for modern .NET applications, composed through independent NuGet packages.
Documentation · Official website
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, andnet10.0together. - Reusable foundation:
Fast.IaaSstays onnetstandard2.1for broad reuse across modern .NET projects. - Idiomatic integration: consistent extension methods for
IServiceCollection,WebApplicationBuilder, andIApplicationBuilder. - 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
Install the three modules used by this starter in an existing ASP.NET Core project:
dotnet add package Fast.NET.Core
dotnet add package Fast.Serialization.System.Text.Json
dotnet add package Fast.Swagger
using Fast.NET.Core;
using Fast.Serialization;
using Fast.Swagger;
var builder = WebApplication.CreateBuilder(args);
builder.Initialize();
builder.Services.AddSerialization();
builder.Services.AddControllers();
builder.Services.AddSwaggerDocuments(builder.Configuration);
var app = builder.Build();
app.UseSwaggerDocuments();
app.MapControllers();
app.MapGet("/health", () => Results.Ok(new { status = "ok" }));
app.Run();
This example does not register a database, Redis or background jobs. Add other modules and their configuration only when needed. Module versions are maintained independently; review CHANGELOG before upgrading.
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 and JavaScript/TypeScript client generation | .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 |
Fast.OpenApi generates TypeScript clients with separate import type declarations and explicit Promise<T> return types. Actions returning non-generic Task or ValueTask use Promise<void>. Download and Export actions retain their response: Web clients use AxiosResponse<Blob>, while mobile clients allow Blob, ArrayBuffer, or a temporary-file-path string. Their autoDownloadFile parameter defaults to true and can be disabled by the caller. Other values without a concrete schema remain unknown. The output is compatible with verbatimModuleSyntax and the current Fast ESLint Config rules. Generated Web and mobile multipart upload methods also expose an optional Axios onUploadProgress callback.
Repository layout
Fast.NET/
├─ src/ # 17 independently published SDK modules
├─ docs/ # Bilingual usage, architecture, and release guides
├─ .github/ # GitHub CI workflow
├─ 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
- Getting started
- Module catalog
- Architecture guide
- Comments and public API documentation
- Release guide
- Contribution guide
- Security policy
- Support policy
- Code of conduct
- Changelog
- Commit history
- Issue tracker
- Pull requests
Before submitting code, build every affected target framework and keep public Chinese and English documentation synchronized.
Copyright, license and use
Copyright © 2018-Now 小方. This project uses Apache License 2.0. Use, modification, distribution and commercial use are permitted subject to its terms.
When redistributing, provide the license, mark modified files and preserve applicable copyright, attribution and supplied NOTICE information as required. This summary does not replace the license or impose additional UI attribution.
Users are responsible for the legal compliance and authorization of their own modifications, deployment, data processing and operations. This reminder is not an additional license condition.
Except as required by applicable law or agreed in writing, the software is provided on an "AS IS" basis. Sections 7 and 8 govern warranty disclaimers and liability limits. Providing the project does not endorse downstream activities or assume users' contractual commitments. This statement does not exclude liability that cannot lawfully be excluded.
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 | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. 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 was computed. 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 was computed. 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. |
| .NET Core | netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.1 is compatible. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.1
- No dependencies.
NuGet packages (3)
Showing the top 3 NuGet packages that depend on Fast.IaaS:
| Package | Downloads |
|---|---|
|
Fast.Serialization
Fast.NET 框架序列化模块库。 |
|
|
Fast.CorsAccessor
Fast.NET 框架跨域处理模块库。 |
|
|
Fast.ApplicationCore
Fast.NET 框架Application核心模块库。 |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 3.5.29 | 55 | 9/24/2026 |
| 3.5.28 | 105 | 9/8/2026 |
| 3.5.27 | 102 | 9/3/2026 |
| 3.5.26 | 105 | 9/3/2026 |
| 3.5.25 | 100 | 9/2/2026 |
| 3.5.24 | 107 | 8/30/2026 |
| 3.5.23 | 136 | 8/14/2026 |
| 3.5.22 | 111 | 8/14/2026 |
| 3.5.21 | 121 | 8/11/2026 |
| 3.5.20 | 110 | 8/11/2026 |
| 3.5.19 | 115 | 8/8/2026 |
| 3.5.18 | 161 | 8/4/2026 |
| 3.5.17 | 162 | 7/16/2026 |
| 3.5.16 | 186 | 3/1/2026 |
| 3.5.15 | 274 | 12/25/2025 |
| 3.5.14 | 292 | 11/23/2025 |
| 3.5.13 | 489 | 11/20/2025 |
| 3.5.12 | 492 | 11/18/2025 |
| 3.5.11 | 483 | 11/18/2025 |
| 3.5.10 | 495 | 11/18/2025 |