序
ABP和ABP VNext
很多人对旧版的ABP存在误解,被网上的一些说法误导,以为 ABP 只能用来开发.net framework 项目,而 ABP VNext 是用来开发.net core 项目。这个说法是错误的,通过ABP官网的 startup template 就可以看到,生成的模板是可以选择.net core 和.net framework 的。
ABP 程序集以 Abp 作为前缀,而ABP VNext则是以 Volo.Abp 作为前缀,通过前缀就可以简单判断使用的版本。
两者都是相同的团队在维护,在ABP VNext官网的 Announcement 可以了解到其诞生的原因,ABP VNext是对ABP的完全重写,因为 .Net Core的出现,他们将ABP集成到了ASP.NET Core,而不是在这些扩展库的顶部构建ABP框架,如果希望依赖这些新的扩展库,而不是第三方和自定义解决方案,将改变框架的基本结构,所以才诞生ABP VNext。
ABP VNext不支持ASP.NET MVC 5.x,实体框架6.x和其他旧技术,专注于.Net Core和ASP.NET Core,以及微服务开发。如果项目中仍在使用这些旧技术,则可以继续旧版ABP框架。旧版 ABP仍在继续维护,修复错误并添加新功能,譬如支持最新的.net 5。
前言
本系列根据 abpvnext官方微服务demo 来进行学习,基于 .netcore sdk version 3.1404 ,volo.abp version 3.2.1。
下载官方demo之后,可选择将数据库修改为Mysql,删除原有迁移文件夹之后,重新生成迁移,之后按照官方文档配置项目启动顺序即可正常运行。
注意不要将 abp 升级到4.0,我使用的时候发现Volo.Abp.IdentityServer.Domain 4.0 的 FindByCliendIdAsync 修改为 FindByClientIdAsync 之后,无法正常获取 ids4 中配置的 scope ,会导致 hybird 授权模式下无法正常授权,所以在官方未修复或更新 demo 之前,不要随便升级项目。
内容索引
一.模块(Modules)
模块可以嵌入到单个应用程序中,也可以通过单独部署API和UI作为微服务托管