ABP开发框架前后开发系列——(16)ABP框架最新版本升级经验总结

数据处理


浏览:1107 次

ABP框架在短时间内没有持续升级。最近,ABP框架已全面更新,以满足客户的需求。因为我们使用的ABP框架的基本部分仍然使用官方内容,所以升级时需要全面更新官方基本ABP DLL,以及相应的参考DLL。然而,在升级过程中仍然存在许多奇怪的问题。这篇文章对这些情况做了一系列总结,以便你以后参考。

1.更新最新案例源代码和NugGet包

ABP的官方基本模块更新非常快。过去,跳过了几个版本号。我在旧版本的基础上手动更新了NugGet,但基于VS的NugGet总是卡住,不知不觉中没有响应,这严重影响了开发效率。因此,首先从官方下载的Demo案例中更新相关的源代码。

官方案例源代码下载地址为:

1) 最新案例的源代码结构和部分内容调整

我们从中下载相应的源代码,然后使用Beyond Compare根据项目结构中对应的源代码文件逐一比较文件。原则上,除个人扩展外,应以官方源代码实践为准。

目前,最新的官方ABP DLL版本是5.3.0,可供下载的演示版本是5.2.0。它们应该类似。下载的Aspnet核心的源代码结构如下所示。

形象

在此基础上,我们的ABP框架进行了优化,以使开发更加方便和快速,并可与代码生成工具一起快速使用。

我们的VS项目结构如下所示。

形象

以上是VS中解决方案的项目结构。我根据项目之间的关系安排了架构图,如下所示。

形象

在上图中,橙色部分是我们为每个层添加的类或接口,层上的序列号是我们需要逐步处理的。

app服务层是整个ABP框架的灵魂。它实现了内部协作仓储对象的数据处理以及与Web的外部协作。核心和Web主机项目提供Web API服务,而Web。核心和Web主机项目几乎不需要修改。因此,app服务层是一个非常关键的部分。有必要考虑用户登录的验证、界面权限的验证、审计日志的记录和处理以及异常的跟踪和传输。基本上,应用服务层扮演着总经理的角色,这是不言自明的。

形象

在回顾了修改后的ABP开发框架的结构之后,让我们回到版本升级的主体。

目前,我将VS版本升级到最新版本。net框架支持4.8,并单独安装了最新版本的dotnet核心3.1。因此,环境是最新的,基本的ABP 5.3.0也使用了net core3.1

通过比较源代码,我们可以找到Web。主机和Web在核心项目中存在一些差异。IHostingEnvironment已被放弃,取而代之的是dotnetcore的最新对象IWebHostEnvironment。

形象

将最新源代码替换为

形象

因此,Web中的Module类。主办项目也已调整。

形象

相应Web中的模块。核心项目也进行了调整。

形象

2) NugGet包更新

原则上,您可以选择单个项目来更新Nugget包,也可以选择整个解决方案来更新包。前者可能更快,而后者可能由于解决方案项目的数量而较慢。

我的早期基本ABP版本是4.9,所以我想一次性更新整个解决方案包。然而,经过几次尝试,我花了几个小时才成功更新了所有项目。因此,单个项目的更新也非常缓慢。

因此,也建议使用掘金的最新地址进行更新。更新源设置如下。

形象

添加到包源:

形象

响应速度相对较快。没有不常见的问题。

如果我们需要单独更新某个项目的包,我们需要选择该项目并选择[管理掘金包]进入更新界面。如下图所示。

形象

形象

通常,我们建议对整个解决方案进行全面的软件包更新。如下选择解决方案,然后进入相应的Nugget包管理界面进行更新。

形象

如果这样一个包裹能顺利完成,每个人都会很高兴

相关资讯:
APP项目开发流程

APP项目开发流程

查看
软件外包开发过程

软件外包开发过程

查看
软件外包项目开发过程

软件外包项目开发过程

查看
如何找到一家满意的软件项目外包公司

如何找到一家满意的软件项目外包公司

查看
寻找优质APP外包公司

寻找优质APP外包公司

查看