Blog.Core 是一个开箱即用的企业级权限管理应用框架,目前开源五年。
采用最新的前后端完全分离技术【 ASP.NET Core Api 8.0 + Vue 2.x 】,并结合 IdentityServer4 ,可快速解决多客户端和多资源服务的统一认证与鉴权的问题,以及整合较为完善的数据权限控制。
配套Nacos注册服务中心,可高效实现多服务实例的扩展与负载,为微服务实现良好基础。支持市面主流数据库和支持多库操作,以及支持事务的控制处理,保证数据安全可信赖!
跟随着2023年的.Net Conf大会的脚步,.NET8.0也正式的和大家如约见面了了,BCVP社区也是第一时间对系统进行了升级,这得益于之前在.NET7.0做的充足的准备,因为7.0版本不是LTS版本,所以master分支一直还是6.0的版本,但是7.0的分支也是一直在维护的,不过这次的.NET8.0也是LTS长期支持的,所以会同步到master分支!
目前项目已经升级到.NET8.0,并推送到了Blog.Core官方Github的.net8.0分支,如果大家看不到这个分支,就表示已经合并到了master分支了。
先说下两个小事,最近.NET和C#也有了很大的进步,主要是这两个图:
当然,语言不分家,老板让用啥,咱用啥
1、C#又一次向JAVA冲锋,差距进一步缩小,发力的还是web和工业领域,还有AI等领域
https://www.tiobe.com/tiobe-index/
2、最新一轮TechEmpower的Web Framework Benchmarks排名显示,asp.netcore目前在主流框架中是第二位置,是否主流就看框架前是否有T的标志:
https://www.techempower.com/benchmarks/#section=data-r22&test=composite&hw=ph
话不多说,开始整活儿
1、升级安装SDK8.0
首先需要先安装.NET8.0的SDK,官网搜索就行:
(下载地址:https://dotnet.microsoft.com/download)
(安装完成)
(可以看到已经有了这个sdk了)
注意一下:
如果安装完8.0以后,但是vs2022还是没有看到这个版本,可以重启下电脑或者升级下你的VS2022,我升级到最新的VS版本是可以的
2、升级项目目标框架
这里有两个方式,
1、(不推荐)打开项目,比如Blog.Core.Api层,在项目上右键,单击属性选项,选择对应的版本,每个项目都操作一次,但是这样比较麻烦。
2、(推荐)也可以通过统一一个框架文件直接修改下版本号,可以在根目录设置一个targets文件,然后在每个项目中导入引用这个文件就行,类似springboot项目中的根目录的pom文件,一键就搞定。
对了,还有记得修改下GitHub自带的一些workflows,也有Dockerfile中的镜像,我已经更新好了,可以看看。
好啦,清理解决方案,重新生成解决方案,0 error 0 warning,完美。
预览下效果吧
3、升级项目其他Nuget依赖包
SDK升级好后,再升级下各个类库的Nuget包版本,直接升级到最新的就行,每个分层都一样,就不赘述了:
然后,我们测试下项目的功能,把主要的一些中间件开关都打开,然后运行程序:
然后运行项目,没有任何问题,日志也成功生成了:
(访问后端自带的前端页面)
(对应日志也都生成,数据库也支持持久化)
4、其他可能出现的问题
中间可能有一两个警告或者错误,基本都不是什么大问题,看我的代码就行,这里举个错误,升级的时候,jwt读取token的时候会出现一个:
IDX12723: Unable to decode the payload '[PII of type 'System.String' is hidden. For more details, see https://aka.ms/IdentityModel/PII.]' as Base64Url encoded string.
这个时间要改成时间戳,具体原因可以看一下源码。
开源地址:https://gitee.com/laozhangIsPhi/Blog.Core