新增功能概述

•启动模板删除 EntityFrameworkCore.DbMigrations 项目•CMS-Kit 模块新增 动态菜单管理 功能•对象扩展管理系统新增两个扩展方法:MapEfCoreDbContext MapEfCoreEntity,分别对 数据上下文和实体 自定义映射配置。•文本模板系统新增 Razor 模板引擎 支持。•ABP CLI 新增3个命令:abp install-libs abp prompt abp batch 。

关注 ABP Framework 最新开发进度,后面还会陆续发布新功能详解新功能示例等系列文章,敬请关注! ABP Framework 研习社(QQ群:726299208) 专注 ABP Framework 学习,经验分享、问题讨论、示例源码、电子书共享,欢迎加入!

启动模板删除 EntityFrameworkCore.DbMigrations 项目

在这个版本中,对应用程序的启动解决方案模板做了一个重要改变:

原模板解决方案包含 EntityFrameworkCore.DbMigrations 项目,该项目中包含 单独的DbContext类,负责数据库迁移。

v4.4版本中,我们决定从解决方案中删除了这个项目。在新的解决方案结构中,将 EntityFrameworkCore 项目用于数据库迁移。

除了使 DbContext 统一外,使用了新的ReplaceDbContext属性,替换了IIdentityDbContextITenantManagementDbContext接口,以使这些模块能够轻松地对仓储进行连接查询。

CMS-Kit 动态菜单管理

CMS Kit是一系列可重用 CMS 系统功能模块。当前版本添加新功能:动态添加菜单,可以导航到任何页面或Url。

CMS Kit 管理页面 /Menus 进行菜单管理。

发布网站显示菜单

截图使用的是 ABP Commercial 版本,此功能同时包含在 ABP Framework CMS Kit 应用模块中(主题不同)。

Razor引擎对文本模板的支持

文本模板[1]是通过使用模型(数据)和模板在运行时生成内容的系统。它是在Scriban[2]模板引擎上运行的。从这个版本开始,模板引擎我们有了第二个选择:可以使用熟悉的 razor 语法来构建和渲染模板。参见文本模板Razor集成[3]文档,开始使用新的引擎。

DbContext/Entities 新的定制点

ObjectExtensionManager.Instance中增加了两个新的扩展方法: MapEfCoreEntity MapEfCoreDbContext,以重写预建应用模块[4]的 EF Core 映射。

示例:更改 IdentityDbContext 的映射以重写 IdentityUser 实体的映射

ObjectExtensionManager.Instance.MapEfCoreDbContext<IdentityDbContext>(modelBuilder =>
{modelBuilder.Entity<IdentityUser>(b =>{b.ToTable("MyUsers");b.Property(x => x.Email).HasMaxLength(300);});
});

启动模板包含 YourProjectNameEfCoreEntityExtensionMappings 类,用来添加上述代码。

ABP CLI 新命令

ABP CLI在v4.4引入新命令:

abp install-libs命令用于 MVC/Razor Pages和 Blazor Server 应用程序,用于恢复 wwwroot/libs 文件夹。之前我们是通过运行 yarn 和 gulp 命令来恢复该文件夹。虽然 install-libs 命令仍然使用 yarn(如果有的话,如果没有呢?),但不再需要使用 gulp 了。•abp prompt命令可以用来打开 ABP CLI 的提示,并运行多个命令,而不需要每次都指定 abp 命令。例如,如果你运行abp prompt,那么你可以直接运行install-libs而不是abp install-libs。使用exit来从 ABP提示符 中退出。•abp batch命令可用于用一个命令运行多个ABP命令。准备一个文本文件,将每个命令写成一行(没有abp命令前缀),然后执行abp batch <batch-file>,比如:abp batch your_commands.txt命令来执行该文件中的所有命令。

新增 appsettings.secrets.json 配置文件

在启动模板中添加了 appsettings.secrets.json 配置文件,用来保护你的敏感/机密配置信息。在源码控制中忽略这个文件(如果你使用git,通过添加到.gitignore),并且只在开发和部署环境中保留它。

ABP Framework 其他改进

#9350 提取了IRemoteServiceConfigurationProvider以获得远程服务配置。可以替换该服务实现从任何来源获得配置。•#8829 为分布式事件总线实现了错误处理和重试。 #9288 在启动模板中使用默认的CORS策略,而不是一个命名策略。建议更新自己的方案,使之更简单。•框架和模块的本地化提供:印度语、意大利语、芬兰语、法语和斯洛伐克语。

除此以外,还有很多改进和错误修复。请参阅4.4-预览里程碑[5],了解该版本修复的所有问题和合并的推送。

项目中需要用到工作流,可以看看这篇文章:《基于 ABP Framework 使用 Elsa 工作流》[6]

发布免费电子书:《Implementing Domain Driven Design》

六月初,为ABP社区出版了一本免费电子书。这是一本实施领域驱动设计(DDD)的实用指南。

中文版已翻译完成,为了大家方便阅读,整理成了电子书 《基于ABP Framework 实现领域驱动设计》中文完整版_v1.0_iEricLee译

请入群:ABP Framework 研习社(QQ群:726299208)在共享文件中下载

新主题预告:LeptonX Theme

即将发布新主题,命名为LeptonX。该主题适用于 ABP Framework(免费精简版)和 ABP Commercial(商业专业版)。大概要等几周发布第一个版本。

重点介绍免费精简版 LeptonX-lite ,将包含专业版所具有的大部分基本功能组件

精简版和专业版之间的一些区别:

•导航栏:移动标签导航栏只在专业版提供。在精简版中,用一个汉堡包菜单替换。•页面布局:精简版将只发布侧面菜单布局,未来可能发布更多的布局,因为基础设施可使开发和替换布局变得容易。•主题颜色:在专业版提供不同颜色选项和在运行时改变颜色的能力。精简版使用暗色构建。

详细信息参看介绍文档[7]

关于下一版本

下一个主要版本:5.0,将基于 .NET 6.0 ,预计在2021年底发布。计划将在RC版本之前发布多个预览/Beta版本。有关5.0版本的计划细节,请参见路线图[8]

References

[1] 文本模板: https://docs.abp.io/en/abp/4.4/Text-Templating
[2] Scriban: https://github.com/scriban/scriban
[3] Razor集成: https://docs.abp.io/en/abp/4.4/Text-Templating-Razor
[4] 预建应用模块: https://docs.abp.io/en/abp/latest/Modules/Index
[5] 4.4-预览里程碑: https://github.com/abpframework/abp/milestone/52?closed=1
[6] 《基于 ABP Framework 使用 Elsa 工作流》: https://community.abp.io/articles/using-elsa-workflow-with-the-abp-framework-773siqi9
[7] 介绍文档: https://volosoft.com/blog/introducing-the-lepton-theme-next-generation
[8] 路线图: https://docs.abp.io/en/abp/latest/Road-Map

ABP Framework V4.4 RC 新增功能介绍相关推荐

  1. ABP Framework 5.2 RC 版本发布及新增功能介绍

    本文将介绍 ABP Framework 5.2 RC 版新增的主要功能: •单层解决方案模板•API 版本控制•源代码控制移除libs文件夹•对 Swagger UI 隐藏 ABP 默认端点•CMS ...

  2. Zabbix6.0使用教程 (一)—zabbix新增功能介绍1

    使用zabbix的小伙伴应该都有关注到目前zabbix的大版本已经更新到了6.0,后面乐乐将会对如何使用zabbix6.0做一个使用教程的系列,大家可以持续关注,这篇我们主要聊聊zabbix6.0新增 ...

  3. Fl Studio 20.8英文切换中文正式版下载及新增功能介绍说明

    水果做电子音乐,可以说是非常牛逼的,但是唯一的缺点就是只有英文版,对于那些想用水果编曲的音乐人们来说,可以说是一个硬伤,没有中文版,因此也可以说是流失了一批潜在的客户. 随着最近两年的版本升级,Cub ...

  4. 会声会影Video Studio 2023 旗舰版新增功能介绍

    会声会影2023旗舰版(Corel VideoStudio Ultimate 2023)(亦称绘声绘影)是一款功能强大的视频编辑软件,入手非常简单,可以帮助用户制作优秀的视频内容,支持视频编辑和视频特 ...

  5. ABP Framework 5.0 RC.1 新特性和变更说明

    .Net 6.0 发布之后,ABP Framework 也在第一时间进行了升级,并在一个多星期后(2021-11-16)发布了 5.0 RC.1 ,新功能和重要变更基本已经确定. 5.0版本新特性 5 ...

  6. XMind (2022)新版思维导图新增功能介绍

    全新设计,不止缤纷.XMind (2022) 升级版本!不管是更缤纷多彩的智能配色方案,还是复古写意的手绘风格,或是鲜活有趣的插画和贴纸,新版本的 XMind 都能导图迸发出更多活力,盘活思维,激发出 ...

  7. Premiere Pro 2023下载安装、新增功能介绍

    Premiere Pro 2023中文版简称Pr,pr2023是一款视频编辑软件. pr 2023不仅可以帮助用户对各种视频进行剪辑.旋转.分割.合并.字幕添加.背景音乐等基础的处理,还能帮助用户进行 ...

  8. Zabbix6.0使用教程 (一)—zabbix新增功能介绍2

    上一篇我们已经介绍了部分zabbix6.0的新增功能,这期我们将继续为家详细介绍下余下的zabbix6.0新增功能,大家可以往下看. 六.监控项 6.1 自动类型选择 监控项配置表单会自动建议匹配的信 ...

  9. CorelDRAW SE2022新增功能介绍

    产品介绍:CorelDRAW SE是 CorelDRAW 2022 的更轻巧,更紧凑的版本,但非常胜任图像创建和编辑工作. 这套完整的图形程序集具有竞争力的价格,可用于创建可缩放的矢量图形,页面布局, ...

最新文章

  1. SharpWebMail介绍和安装(转)
  2. MVC5+EF6 入门完整教程七
  3. [翻译]Axure-Basic Interactions-原型设计工具Axure学习-第1.3节
  4. C# java 有关“字节序”的描述 .
  5. maven报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:x.x.x:test
  6. 人车物跟踪在另外的机器上跑不起来
  7. python学习笔记9:面向对象编程,类
  8. Office 365中的密码过期策略
  9. python画散点图-python中画散点图
  10. html滚动字幕制作教程,dreamweaver教程:怎么制作网页滚动字幕
  11. Nginx安装配置详解
  12. 使用iPhone系统设置开发者,进行弱网测试
  13. 世界域名后缀大全,所有国家域名后缀都有
  14. 360软件小助手-壁纸存储路径
  15. Profile Lookup任务详解
  16. 信念不熄 热爱当燃|中创算力参加黑客马拉松比赛
  17. 依赖背包dp NOIP2006 vijos 1313 金明的预算方案
  18. ffmpeg将ogg和wav格式转化为mp3
  19. Latex图片、公式、参考文献插入技巧
  20. 主梁弹性模量计算_4主梁作用效应计算-金锄头文库

热门文章

  1. 转:编写高效的Android代码
  2. 正则基础之——神奇的转义
  3. Android 中文api (81)——InputMethod [输入法]
  4. Linux 内存机制
  5. 闭包 —JavaScript面向对象高级
  6. Ubuntu 下配置 NFS
  7. CLS/CLR、c#(等语言)、托管、元数据、程序集 CLR学习第二课
  8. QtWebkit中浏览器插件的设计-1
  9. hey 安装_如何在助理扬声器上调整“ Hey Google”的灵敏度
  10. 使用mintty(_如何使用Mintty改善Cygwin控制台