news 2026/9/3 8:03:19

ABP Platform 10.0 RC 已发布

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
ABP Platform 10.0 RC 已发布

目录

开始体验 10.0 RC

迁移指南

ABP v10.0 有哪些新内容?

升级到 .NET 10.0

升级到 Blazorise v1.8.2

新模块:Elsa 工作流

新对象映射器:Mapperly

本地化:JSON 文件中的嵌套对象支持

仓储支持 EF Core 共享实体类型

为 InboxProcessor 增加失败重试策略

迁移到基于 Esbuild 的新 Angular 构建器

Angular SSR 支持

总结


我们很高兴发布 ABP10.0 RC1。本文将介绍该版本的新特性和重要变更。

欢迎试用并反馈,帮助我们发布更稳定的 ABP v10.0 正式版!提前感谢你的支持。

开始体验 10.0 RC

你可以查看 https://abp.io/get-started 页面 了解如何开始使用 ABP。你可以下载 ABP Studio(如果你偏好更友好的桌面 GUI 应用,推荐)或使用 ABP CLI。

默认情况下,ABP Studio 使用稳定版来创建解决方案。因此,如果你想使用预览版创建解决方案,需要先创建一个解决方案,然后在 ABP Studio 的 UI 中将解决方案切换到预览版本:

迁移指南

本版本包含一些可能影响你应用的破坏性变更。如果你从 v9.3 或更早版本升级,请务必仔细阅读迁移指南:ABP Version 10.0 Migration Guide。

https://abp.io/docs/10.0/release-info/migration-guides/abp-10-0

ABP v10.0 有哪些新内容?

本节将介绍本次发布的一些主要特性。以下是后续小节将展开的要点列表:

  • 升级到 .NET 10.0

  • 升级到 Blazorise 1.8.2

  • 新模块:Elsa 工作流

  • 新对象映射器:Mapperly

  • 本地化:JSON 文件中的嵌套对象支持

  • 仓储支持 EF Core 共享实体类型

  • 为 InboxProcessor 增加失败重试策略

  • 迁移到基于 Esbuild 的新 Angular 构建器

  • Angular SSR 支持

升级到 .NET 10.0

我们已将 ABP 升级到 .NET 10.0,如果你想使用 ABP 10.0,需要将你的解决方案迁移到 .NET 10.0。

由于 .NET 10 的稳定版尚未发布,我们将 ABP 升级到 .NET v10.0-rc.1。稳定版 .NET 10 计划作为 长期支持(LTS)版本在 2025 年 11 月 11-13 日举行的 .NET Conf 2025 上发布。一旦官方 .NET 10 正式发布,我们会尽快更新 ABP Platform 到 .NET 10。

升级到 Blazorise v1.8.2

我们将 Blazor UI 所使用的 Blazorise 库升级到了 v1.8.2。如果你将项目升级到 v10.0 RC,请确保你应用中所有与 Blazorise 相关的包都使用 v1.8.2,否则可能会因版本不兼容而报错。

新模块:Elsa 工作流

ABP 现已内置工作流模块,集成了 Elsa Workflows,可在你的 ABP 解决方案(单体或微服务)中构建可视化、长事务、事件驱动的工作流。它与 ABP 的身份认证/授权、分布式事件总线、持久化、后台处理无缝集成,并通过 Elsa Studio 支持混合 UI。

想要上手实践并查看跨服务的端到端订单/支付工作流示例,请参考示例:https://abp.io/docs/10.0/samples/elsa-workflows-demo

新对象映射器:Mapperly

ABP 模块现在将 Mapperly 作为默认的对象映射器。Mapperly 是一种编译期、基于源码生成的映射器,消除了运行时反射,具备更高性能与更易维护的优势。

Volo.Abp.AutoMapper包仍可用于向后兼容。你可以在你的解决方案中继续使用 AutoMapper,但若需要许可证,你需要自行获取并管理。升级指导与实践步骤请参考迁移指南:https://abp.io/docs/10.0/release-info/migration-guides/AutoMapper-To-Mapperly

本地化:JSON 文件中的嵌套对象支持

ABP 现在支持在 JSON 本地化文件中使用嵌套对象(以及数组),允许你以层次结构组织翻译内容,并通过双下划线(__)分隔符来访问。这有助于在大型资源文件中提升可维护性,并使查找方式与熟悉的键路径保持一致。

声明(嵌套对象)

{ "culture": "en", "texts": { "MyNestedTranslation": { "SomeKey": "Some nested value", "SomeOtherKey": "Some other nested value" } } }

使用

L["MyNestedTranslation__SomeKey"]; L["MyNestedTranslation__SomeOtherKey"];

声明(数组)

{ "culture": "en", "texts": { "Menu": { "Items": ["Home", "About", "Contact"] } } }

使用

L["Menu__Items__0"]; // 主页 L["Menu__Items__2"]; // 联系

仓储支持 EF Core 共享实体类型

ABP 仓储现在支持 EF Core 的共享类型实体(shared-type entity),可在执行操作前为仓储设置自定义实体名称。内部通过 EF Core 的DbContext.Set<T>(string name)来定位相同 CLR 类型对应的正确DbSet/表,从而实现诸如按租户分表、归档表或分区等场景,并且可以在运行时切换目标。参见 PR:https://github.com/abpframework/abp/pull/23588 以及 EF Core 文档:https://learn.microsoft.com/en-us/ef/core/modeling/entity-types?tabs=data-annotations#shared-type-entity-types。

示例

// 在执行仓储操作前设置共享实体名,使其指向指定表 var repo = serviceProvider.GetRequiredService<IRepository<MyEntity, Guid>>(); repo.SetCustomEntityName("MyEntity_TenantA"); var list = await repo.GetListAsync(); // 在同一实例上切换到另一个共享实体名 repo.SetCustomEntityName("MyEntity_Archive"); await repo.InsertAsync(new MyEntity { /* ... */ });

为 InboxProcessor 增加失败重试策略

InboxProcessor现在支持针对每个事件配置失败处理策略:Retry(默认;在下一个周期中重新处理)、RetryLater(跳过当前失败事件并在稍后以指数退避重试;可配置退避因子与最大重试次数)以及Discard(丢弃失败事件)。这可避免单个失败的处理程序阻塞后续事件,提升系统弹性。

迁移到基于 Esbuild 的新 Angular 构建器

我们已将 ABP Angular 模板与包迁移至 Angular 新的 esbuild 构建系统(在 Angular 17+ 引入,并在 Angular 20 中得到完整支持),以带来更快的构建速度、现代 ESM 支持、内置 SSR/预渲染能力以及更好的开发体验。此变更对现有应用是非破坏性的。参见跟踪 issue 与 PR:Angular - Migrate to New Esbuild-based Angular Builder、feat: Update Angular templates to Angular 20 new build system。

模板/配置关键更新

  • 构建器从@angular-devkit/build-angular:browser切换为@angular-devkit/build-angular:application

  • main选项被browser取代;polyfills改为数组形式。

  • TypeScript 更新为es2020,并启用esModuleInterop: true;module 目标为esnext

更多 Angular 更新

  • 单元测试已针对新构建器与配置进行更新:#23460。

警示

  • 构造函数注入已迁移到 Angular 的inject()函数。如果你扩展了某个类并曾在super(...)中传入注入参数,请移除这些参数。参见:Angular inject() migration。

  • provideLogowithEnvironmentOptions已从 LeptonX 包迁移至@abp/ng.theme-shared

  • 如果你使用新的 application builder,且在tsconfig.json中设置了指向node_modules的 path 映射,请删除这些映射并优先使用符号链接。参考符号链接文档:Creating symbolic links。

Angular SSR 支持

ABP Angular 模板现已通过 Angular Application Builder 支持服务端渲染(SSR),实现混合渲染(SSR + CSR),以提升首屏渲染、SEO 与感知性能。内容包括 SSR 安全的平台检查(避免直接使用window/location/localStorage)、通过基于 Cookie 的存储实现 OIDC 认证兼容、以及使用TransferState避免水合期间重复的 HTTP GET 请求。实现要点与用法(包括如何运行 SSR 开发服务器以及transferStateInterceptor)请参见 issue 与 PR:Angular SSR、Hybrid Rendering & Application Builder。

有关混合渲染(预渲染 + SSR + CSR)的更多细节,请参见 Angular 官方指南:Angular SSR,以及构建器迁移指南:Angular build system migration。

总结

该版本带来了若干新特性,并对现有功能进行了大量增强。你可以查看路线图文档,了解后续版本的发布计划和计划中的特性。欢迎试用 ABP v10.0 RC,并反馈问题与建议,帮助我们发布更稳定的版本。

感谢你一直以来对社区的支持!

引入地址

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/3 1:49:16

没技术背景玩转AI翻译:HY-MT1.5云端可视化

没技术背景玩转AI翻译&#xff1a;HY-MT1.5云端可视化 你是不是也遇到过这样的情况&#xff1f;手头有一堆外文书稿要处理&#xff0c;语言五花八门&#xff0c;编辑团队又没人精通这些语种。请专业翻译公司吧&#xff0c;成本高、周期长&#xff1b;自己上机器翻译工具&#…

作者头像 李华
网站建设 2026/9/3 2:18:10

科哥OCR镜像导出ONNX后推理速度表现如何?实测告诉你

科哥OCR镜像导出ONNX后推理速度表现如何&#xff1f;实测告诉你 1. 背景与问题提出 在当前AI应用快速落地的背景下&#xff0c;OCR&#xff08;光学字符识别&#xff09;技术广泛应用于文档数字化、证件识别、票据处理等场景。模型部署效率成为影响系统响应速度和用户体验的关…

作者头像 李华
网站建设 2026/9/3 1:50:18

从0开始学大模型微调:Qwen镜像使用全记录

从0开始学大模型微调&#xff1a;Qwen镜像使用全记录 1. 引言&#xff1a;为什么需要快速上手的大模型微调方案&#xff1f; 在当前大模型技术快速发展的背景下&#xff0c;如何高效、低成本地完成模型定制化成为开发者关注的核心问题。传统全参数微调&#xff08;Full Fine-…

作者头像 李华
网站建设 2026/9/2 21:24:17

Z-Image-Turbo生成质量不稳定?参数调优实战教程分享

Z-Image-Turbo生成质量不稳定&#xff1f;参数调优实战教程分享 Z-Image-Turbo是阿里巴巴通义实验室开源的高效AI图像生成模型&#xff0c;作为Z-Image的蒸馏版本&#xff0c;它在保持高质量图像输出的同时大幅提升了推理速度。该模型仅需8步即可完成图像生成&#xff0c;具备…

作者头像 李华
网站建设 2026/9/2 22:13:41

VibeThinker-1.5B实战教程:构建你的私人编程助手

VibeThinker-1.5B实战教程&#xff1a;构建你的私人编程助手 1. 简介与技术背景 VibeThinker-1.5B 是一个参数量为15亿的密集型语言模型&#xff0c;专为高效推理任务设计。尽管其规模较小&#xff0c;但凭借精心优化的训练策略和数据选择&#xff0c;在数学推理与代码生成任…

作者头像 李华
网站建设 2026/9/2 8:45:09

FSMN-VAD轻量化尝试:剪枝或蒸馏模型提升推理速度

FSMN-VAD轻量化尝试&#xff1a;剪枝或蒸馏模型提升推理速度 1. 引言 1.1 FSMN-VAD 离线语音端点检测控制台 在语音识别、自动字幕生成和语音唤醒等应用中&#xff0c;语音端点检测&#xff08;Voice Activity Detection, VAD&#xff09;是至关重要的预处理步骤。其核心任务…

作者头像 李华