Plus.Core 10.2.0

PlusFramework

PlusFramework

PlusFramework 是一个面向企业应用的 .NET 自研模块化单体框架与模板体系。

当前仓库已建立“源码、测试、模板、包清单和统一门禁使用同一事实源”的发布治理;10.1.0 已作为 .NET 10 版本线的新长期稳定起点发布。

plus-admin 的长期正式形态是固定全栈管理后台模板:后端使用 Identity、PermissionManagement、SystemManagement 与 Auditing 模块族,前端采用 source-owned 的 Vue 3 + TypeScript + Vite 应用。Plus.Templates 10.1.0 已从统一 BaGet 源提供该入口,并包含规范前端、同源静态托管、publish 和前端发布门禁。

当前状态

当前源码已实现的运行时模块:

  1. Plus.Core:模块系统、生命周期、DI 约定和基础异常。
  2. Plus.Domain:实体、聚合根、领域服务、仓储抽象和领域异常。
  3. Plus.EntityFrameworkCoreDbContext 基类、EF Core 仓储、实体约定、软删除过滤和 UOW 事务集成。
  4. Plus.EntityFrameworkCore.PostgreSqlPlus.EntityFrameworkCore.SqlServerPlus.EntityFrameworkCore.MySqlPlus.EntityFrameworkCore.Sqlite:数据库 provider 薄扩展。
  5. Plus.Dapper:轻量 Dapper 基础设施,提供命名连接、provider、connection factory、executor、动态连接描述、本地事务和 timeout 传递。
  6. Plus.Uow:工作单元、嵌套 UOW、RequiresNew 和参与者协议。
  7. Plus.Application:应用服务标记、运行时基类和应用层异常。
  8. Plus.Validation:对象验证、调用参数验证和结构化验证异常。
  9. Plus.AspNetCore:ASP.NET Core 宿主桥接、生命周期托管和基础 ProblemDetails
  10. Plus.AspNetCore.Mvc:Controller 装配、MVC conventions、应用/领域异常到 ProblemDetails 的映射。
  11. Plus.AspNetCore.Uow:endpoint-aware 请求级 UOW middleware。
  12. Plus.AspNetCore.OpenApi:显式 Controller 的 OpenAPI JSON、模块分组和 XML 注释接入。
  13. Plus.DataSeeding:面向 DbMigrator / CLI 的显式数据初始化编排。
  14. Plus.EventBus:本地事件总线、分布式事件契约和事件名称。
  15. Plus.EventBus.EntityFrameworkCore:EF Core Outbox / Inbox、显式 dispatcher 和多实例数据库 claim。
  16. Plus.CachingPlus.RedisPlus.Caching.RedisHybridCache、Redis 连接底座和 Redis-backed L2 缓存接入。
  17. Plus.DistributedLockPlus.DistributedLock.Redis:分布式锁抽象和 Redis provider。
  18. Plus.EventBus.RabbitMQ:RabbitMQ 分布式事件 transport provider。
  19. Plus.BackgroundTasksPlus.BackgroundTasks.ManagementPlus.BackgroundTasks.HangfirePlus.BackgroundTasks.Quartz:后台任务抽象、默认 in-process provider、Work 控制面与 Hangfire / Quartz provider。
  20. Plus.Security:当前用户上下文和 Claims 访问。
  21. Plus.Authorization:权限定义、权限检查、ASP.NET Core authorization policy 接入和授权异常映射。
  22. Plus.AuditingPlus.Auditing.EntityFrameworkCore:安全审计运行时、HTTP 请求级上下文、用户事实、实体变化采集、UOW rollback 结果和独立 EF store;不公开默认审计查询 API。
  23. Plus.Serilog:Serilog provider 接入与 PlusFramework Logging 短配置适配,Console 和 File 默认开启。
  24. Plus.BlobStoringPlus.BlobStoring.FileSystemPlus.BlobStoring.Minio:Blob 存储核心、本地文件系统 provider 和 MinIO / RustFS / S3-compatible provider。
  25. Plus.MongoDB:基于官方 MongoDB.Driver 的单包数据访问模块,提供 application-lifetime MongoClient、显式 Context / document 模型、opt-in Repository、可选 ambient UOW transaction 和 forward-only migration。

Plus.Application 统一拥有应用服务基础能力和分页 DTO。业务 Contracts 可以为复用这些稳定 DTO 直接建立编译引用,但保持普通 class library,不继承运行时 IApplicationService,也不因此进入 Module 图。

当前基线明确采用单租户模块化单体:框架不提供租户解析、租户上下文、租户连接路由、租户数据过滤或 TenantManagement。需要 SaaS 多租户的业务项目必须在自身产品边界内单独设计,不能依赖 PlusFramework 的隐含租户语义。

这些已实现模块不等于默认模板第一屏全部启用。固定 plus-admin 后端已启用 SecurityAuthorizationAuditing 和 PermissionManagement 所需的 CachingRedisDistributedLockDapperMongoDB、BlobStoring、RabbitMQ transport 和后台任务 provider 等能力仍按“显式安装、显式配置、显式接入”使用。

当前发布工程:

  1. eng/package-manifest.json:唯一发布清单,固定 37 个 Plus.* 运行时包和 1 个 Plus.Templates 包。
  2. eng/pack-local.ps1:统一打包可发布的 src/ 项目和模板,并校验 38 包、metadata、README、PackageIcon、repository commit 与内部依赖版本;modules/ 下显式不可打包的源码业务模块不进入清单。
  3. eng/verify-templates.ps1:在隔离 custom hive 中安装、卸载和实例化本地模板包,强制生成项目消费本次本地 Plus.* nupkg。
  4. eng/verify-release.ps1:restore、build、test、format、漏洞、独立样例、模板、pack 和包清单的单一门禁入口;CI 只调用该脚本。
  5. eng/push-baget.ps1:发布前使用同一清单检查本地包和远端同版本;任何正式版本都必须先通过完整门禁和远端冲突检查。

状态必须分开理解:

  1. 候选实现:开发工作区中的代码和文档;存在未提交改动时不属于可发布候选。
  2. 已提交实现:以干净且可追溯的 Git HEAD 为准,不能用工作区候选替代。
  3. 发布包集合:当前 manifest 固定 37 个运行时包和 1 个模板包,共 38 个目标 nupkg。
  4. 已发布:BaGet 中的 38 个 10.1.0 主包构成新的完整统一稳定集合,对应 v10.1.0 与候选 commit 可追溯;已撤回的 11.x 不属于当前稳定版本线。
  5. 统一门禁:eng/verify-release.ps1 只接受干净、已提交且执行期间不变的 HEAD;具体测试、跳过项、包和 commit 结果由 verify-summary.json 与 CI artifact 记录,不在 README 复制易过期数字。

当前方向

  1. 自研框架。
  2. 模块化单体。
  3. ASP.NET Core 默认宿主。
  4. Microsoft DI 默认容器。
  5. EF Core 默认 ORM。
  6. 显式 Controller 默认 API 入口。
  7. 不考虑微服务路线。
  8. 不恢复 Autofac、Castle、DynamicProxy 或方法级 AOP。
  9. plus-admin 固定交付一套同源全栈管理后台,不建设模板组合矩阵或多前端技术栈。

文档入口

  1. PlusFramework 总纲
  2. 模块设计文档索引
  3. 代码规范
  4. 模块规范
  5. 模块分层与契约边界
  6. 测试规范
  7. 发布与验证
  8. 模板规范
  9. 前端管理后台规范

发布前必须在干净、已提交、可追溯的候选上重新执行 eng/verify-release.ps1,审视所有真实外部服务跳过项;push-baget.ps1 会再次校验工作区和包内 RepositoryCommit,之后再由用户显式决定推送和 tag。

Showing the top 20 packages that depend on Plus.Core.

Packages Downloads
Plus.Application
PlusFramework Plus.Application modular monolith component.
31
Plus.AspNetCore
PlusFramework Plus.AspNetCore modular monolith component.
31
Plus.Auditing
PlusFramework Plus.Auditing modular monolith component.
31
Plus.Authorization
PlusFramework Plus.Authorization modular monolith component.
31
Plus.BackgroundTasks
PlusFramework Plus.BackgroundTasks modular monolith component.
31
Plus.Caching
PlusFramework Plus.Caching modular monolith component.
31
Plus.DataSeeding
PlusFramework Plus.DataSeeding modular monolith component.
31
Plus.Domain
PlusFramework Plus.Domain modular monolith component.
31
Plus.EntityFrameworkCore
PlusFramework Plus.EntityFrameworkCore modular monolith component.
31
Plus.BlobStoring
PlusFramework Plus.BlobStoring modular monolith component.
30
Plus.Dapper
PlusFramework Plus.Dapper modular monolith component.
30
Plus.DistributedLock
PlusFramework Plus.DistributedLock modular monolith component.
30
Plus.Security
PlusFramework Plus.Security modular monolith component.
30
Plus.Uow
PlusFramework Plus.Uow modular monolith component.
30
Plus.Validation
PlusFramework Plus.Validation modular monolith component.
30
Plus.Redis
PlusFramework Plus.Redis modular monolith component.
29
Plus.Serilog
PlusFramework Plus.Serilog modular monolith component.
29
Plus.EventBus
PlusFramework Plus.EventBus modular monolith component.
28
Plus.MongoDB
PlusFramework Plus.MongoDB modular monolith component.
28
Plus.AspNetCore.DynamicApi
Plus.AspNetCore.DynamicApi module for PlusFramework.
11

Version Downloads Last updated
10.3.1 9 08/02/2026
10.3.0 5 08/02/2026
10.2.4 6 08/01/2026
10.2.3 9 07/31/2026
10.2.2 8 07/31/2026
10.2.1 9 07/31/2026
10.2.0 6 07/31/2026
10.1.0 31 07/30/2026
10.0.20 3 07/09/2026
10.0.19 7 06/09/2026
10.0.18 4 06/08/2026
10.0.17 4 06/08/2026
10.0.16 4 06/08/2026
10.0.15 4 06/08/2026
10.0.4 4 06/06/2026
10.0.3 4 06/06/2026
10.0.2 3 06/05/2026