原文链接:ABP Platform 4.4 RC Has Been Released

新增功能概述

  • 启动模板删除 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引擎对文本模板的支持

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

DbContext/Entities 新的定制点

ObjectExtensionManager.Instance中增加了两个新的扩展方法: MapEfCoreEntity MapEfCoreDbContext,以重写预建应用模块的 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 文件夹。之前我们是通过运行 yarngulp 命令来恢复该文件夹。虽然 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-预览里程碑,了解该版本修复的所有问题和合并的推送。

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

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

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

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

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

新主题预告:LeptonX Theme

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

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

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

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

详细信息参看介绍文档

关于下一版本

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

dotNET兄弟会-公众号

专注.Net开源技术及跨平台开发!致力于构建完善的.Net开放技术文库!为.Net爱好者提供学习交流家园!

ABP Framework V4.4 RC 新增功能介绍的更多相关文章

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

    ABP Framework 5.2 RC 新增功能 目录 ABP Framework 5.2 RC 新增功能 单层解决方案模板 EF Core 数据库迁移 UI 和 数据库 选项 API 版本控制 源 ...

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

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

  3. CorelDRAW 2018新增功能介绍

    2018年4月11日,CorelDRAW 2018正式对外发布,最新版设计软件包已经过全面更新,是近几年来发行的最强大版本,可协助绘图专业人士将创意转换为令人惊艳的专业视觉设计.CorelDRAW 2 ...

  4. ABP Framework 5.3.0 版本新增功能和变更说明

    ABP Framework 5.3.0 稳定版已在2022年6月14日正式发布. 以下是本版本的新增功能: "开始"页面提供创建单层项目选项 启动模板提供 PWA 支持 Volo. ...

  5. ABP Framework:移除 EF Core Migrations 项目,统一数据上下文

    原文:Unifying DbContexts for EF Core / Removing the EF Core Migrations Project 目录 导读:软件开发的一切都需要平衡 动机 警 ...

  6. Entity Framework Core 2.1 Preview1 新增功能简介

    两个星期前,微软发布了EF Core 2.1 Preview 1,同时还发布了.NET Core 2.1 Preview 1和ASP.NET Core 2.1 Preview 1:EF Core 2. ...

  7. .NET Framework 4.5、4.5.1 和 4.5.2 中的新增功能

    .NET Framework 4.5.4.5.1 和 4.5.2 中的新增功能 https://msdn.microsoft.com/zh-cn/library/ms171868.aspx

  8. VUE+Element 前端应用开发框架功能介绍

    前面介绍了很多ABP系列的文章<ABP框架使用>,一步一步的把我们日常开发中涉及到的Web API服务构建.登录日志和操作审计日志.字典管理模块.省份城市的信息维护.权限管理模块中的组织机 ...

  9. 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能

    [源码下载] 与众不同 windows phone (40) - 8.0 媒体: 音乐中心的新增功能, 图片中心的新增功能, 后台音乐播放的新增功能 作者:webabcd 介绍与众不同 windows ...

随机推荐

  1. C语言风格的 for 循环(SHELL的循环写法 已验证20200517)

    C语言风格的 for 循环 C语言风格的 for 循环的用法如下: for((exp1; exp2; exp3))do    statementsdone 几点说明: exp1.exp2.exp3 是 ...

  2. 1.1Ubuntu安装

    在虚拟机中安装 Ubuntu 步骤 安装前的准备和基本安装 设置语言环境 安装常用软件 1. 安装前的准备和基本安装 1.1 安装前的准备 访问 http://cn.ubuntu.com/downlo ...

  3. 10.27-Redis-mz 深入浅出Redis

    深入浅出Redis 1.Redis的发展史     Redis[Remote Directory Server]:远程服务器字典 2.下载安装Redis 1>Linux下安装Reids     ...

  4. python文件处理(对比和筛选)版本2

    场景:对比两个txt文件的差异,将对比结果写入html,将不同部分写入另一个txt #!/user/bin/python #!coding=utf-8 # -*- coding: utf-8 -*- ...

  5. UCOS明白解析

        UCOSII 是一个可以基于 ROM 运行的.可裁减的.抢占式.实时多任务内核,具有高度可移植性,特别适合于微处理器和控制器,是和很多商业操作系统性能相当的实时操作系统(RTOS).为了提供最 ...

  6. Java Bean(Day_05)

    我们一路奋战,不是为了改变世界,而是为了不让世界改变我们. 运行环境 JDK8 + IntelliJ IDEA 2018.3 本文中使用的jar包链接 https://files.cnblogs.co ...

  7. Docker学习(9) Docker守护进程的配置和操作

  8. Docker学习(1) 初识

    Docker的使用场景 1 使用Docker容器开发,测试,部署服务 2 创建隔离的运行环境 3 搭建测试环境 4 构建多用户的平台及服务(PaaS)基础设施 5 提供软件即服务(SaaS)应用程序 ...

  9. stream的groupby出来的map是有顺序的map

    stream分组后的map是有序map List<RedisInstanceTypeDto> typeDtoList = ModuleHelper.mapAll(redisInstance ...

  10. Deep Learning部署TVM Golang运行时Runtime

    Deep Learning部署TVM Golang运行时Runtime 介绍 TVM是一个开放式深度学习编译器堆栈,用于编译从不同框架到CPU,GPU或专用加速器的各种深度学习模型.TVM支持来自Te ...