Plus.AspNetCore.MultiTenancy 11.0.0-preview.1
PlusFramework
PlusFramework 是一个面向企业后端的 .NET 自研模块化单体框架。
当前仓库已经进入发布候选治理阶段,按“源码、测试、模板、包清单和统一门禁使用同一事实源”的方式收敛新版主线。
当前状态
当前源码已实现的运行时模块:
Plus.Core:模块系统、生命周期、DI 约定和基础异常。Plus.Domain:实体、聚合根、领域服务、仓储抽象和领域异常。Plus.EntityFrameworkCore:DbContext基类、EF Core 仓储、实体约定、软删除过滤和 UOW 事务集成。Plus.EntityFrameworkCore.PostgreSql、Plus.EntityFrameworkCore.SqlServer、Plus.EntityFrameworkCore.MySql、Plus.EntityFrameworkCore.Sqlite:数据库 provider 薄扩展。Plus.Dapper:轻量 Dapper 基础设施,提供命名连接、provider、connection factory、executor、动态连接描述、本地事务和 timeout 传递。Plus.Uow:工作单元、嵌套 UOW、RequiresNew和参与者协议。Plus.Application:应用服务标记、运行时基类和应用层异常。Plus.Validation:对象验证、调用参数验证和结构化验证异常。Plus.AspNetCore:ASP.NET Core 宿主桥接、生命周期托管和基础ProblemDetails。Plus.AspNetCore.Mvc:Controller 装配、MVC conventions、应用/领域异常到 ProblemDetails 的映射。Plus.AspNetCore.Uow:endpoint-aware 请求级 UOW middleware。Plus.AspNetCore.OpenApi:显式 Controller 的 OpenAPI JSON、模块分组和 XML 注释接入。Plus.DataSeeding:面向DbMigrator/ CLI 的显式数据初始化编排。Plus.EventBus:本地事件总线、分布式事件契约和事件名称。Plus.EventBus.EntityFrameworkCore:EF Core Outbox / Inbox、显式 dispatcher 和多实例数据库 claim。Plus.Caching、Plus.Redis、Plus.Caching.Redis:HybridCache、Redis 连接底座和 Redis-backed L2 缓存接入。Plus.DistributedLock、Plus.DistributedLock.Redis:分布式锁抽象和 Redis provider。Plus.EventBus.RabbitMQ:RabbitMQ 分布式事件 transport provider。Plus.BackgroundTasks、Plus.BackgroundTasks.Management、Plus.BackgroundTasks.Hangfire、Plus.BackgroundTasks.Quartz:后台任务抽象、默认 in-process provider、Work 控制面与 Hangfire / Quartz provider。Plus.Security:当前用户上下文和 Claims 访问。Plus.Authorization:权限定义、权限检查、ASP.NET Core authorization policy 接入和授权异常映射。Plus.Auditing、Plus.Auditing.EntityFrameworkCore:安全审计运行时、HTTP 请求级上下文、用户/租户事实、实体变化采集、UOW rollback 结果和 host 中央库 EF store;不公开默认审计查询 API。Plus.Serilog:Serilog provider 接入与 PlusFrameworkLogging短配置适配,Console 和 File 默认开启。Plus.BlobStoring、Plus.BlobStoring.FileSystem、Plus.BlobStoring.Minio:Blob 存储核心、本地文件系统 provider 和 MinIO / RustFS / S3-compatible provider。Plus.MultiTenancy、Plus.AspNetCore.MultiTenancy、Plus.EntityFrameworkCore.MultiTenancy:多租户运行时、HTTP 解析和 EF Core 数据隔离三层边界。
Plus.Application 统一拥有应用服务基础能力和分页 DTO。业务 Contracts 可以为复用这些稳定 DTO 直接建立编译引用,但保持普通 class library,不继承运行时 IApplicationService,也不因此进入 Module 图。
TenantManagement 已作为源码业务模块提交到仓库:Contracts、Domain、Application、EntityFrameworkCore、HttpApi 五个分层项目提供租户管理面、数据库型 ITenantStore、host scope、连接字符串 Data Protection 静态保护和稳定错误契约。Contracts 承载稳定外交语言,Application 保留 internal 工作语言类型;五个项目显式设置 IsPackable=false,不进入 PlusFramework NuGet 发布清单;已提交源码也不等于已打包或已发布。
这些已实现模块不等于默认模板第一屏全部启用。Security、Authorization、Auditing、Caching、Redis、DistributedLock、Dapper、BlobStoring、RabbitMQ transport 和后台任务 provider 等能力仍按“显式安装、显式配置、显式接入”使用。
当前发布候选工程:
eng/package-manifest.json:唯一发布清单,固定 39 个Plus.*运行时包和 1 个Plus.Templates包。eng/pack-local.ps1:统一打包可发布的src/项目和模板,并校验 40 包、metadata、README、repository commit 与内部依赖版本;modules/下显式不可打包的源码业务模块不进入清单。eng/verify-templates.ps1:在隔离 custom hive 中安装、卸载和实例化本地模板包,强制生成项目消费本次本地Plus.*nupkg。eng/verify-release.ps1:restore、build、test、format、漏洞、独立样例、模板、pack 和包清单的单一门禁入口;CI 只调用该脚本。eng/push-baget.ps1:发布前使用同一清单检查本地包和远端同版本;本次整改不执行推送。
状态必须分开理解:
- 候选实现:开发工作区中的代码和文档;存在未提交改动时不属于可发布候选。
- 已提交实现:以干净且可追溯的 Git
HEAD为准,不能用工作区候选替代。 - 发布包集合:当前 manifest 固定 39 个运行时包和 1 个模板包,共 40 个目标 nupkg;TenantManagement 五个源码项目不进入包清单。
- 已发布:整改后的 11.x 新基线尚未推送 BaGet,也未创建 Git tag;旧 10.0.x 包不属于兼容目标。
- 统一门禁:
eng/verify-release.ps1只接受干净、已提交且执行期间不变的HEAD;具体测试、跳过项、包和 commit 结果由verify-summary.json与 CI artifact 记录,不在 README 复制易过期数字。
当前方向
- 自研框架。
- 模块化单体。
- ASP.NET Core 默认宿主。
- Microsoft DI 默认容器。
- EF Core 默认 ORM。
- 显式 Controller 默认 API 入口。
- 不考虑微服务路线。
- 不恢复 Autofac、Castle、DynamicProxy 或方法级 AOP。
文档入口
发布前必须在干净、已提交、可追溯的候选上重新执行 eng/verify-release.ps1,审视所有真实外部服务跳过项;push-baget.ps1 会再次校验工作区和包内 RepositoryCommit,之后再由用户显式决定推送和 tag。
No packages depend on Plus.AspNetCore.MultiTenancy.
.NET 10.0
- Plus.AspNetCore (>= 11.0.0-preview.1)
- Plus.MultiTenancy (>= 11.0.0-preview.1)
- Microsoft.Extensions.DependencyInjection.Abstractions (>= 10.0.9)
- Microsoft.Extensions.Options (>= 10.0.9)
- Microsoft.Extensions.Configuration (>= 10.0.8)
- Microsoft.Extensions.Configuration.Abstractions (>= 10.0.8)
- Microsoft.Extensions.Options.ConfigurationExtensions (>= 10.0.8)
| Version | Downloads | Last updated |
|---|---|---|
| 11.0.0-preview.2 | 8 | 07/15/2026 |
| 11.0.0-preview.1 | 4 | 07/14/2026 |