[日常填坑系列]CAP食用指南-版本引用问题
作者:jianxuanbing
本文为作者原创,转载请注明出处:https://www.cnblogs.com/jianxuanbing/p/14275045.html
一、前言
最近,由于好久没升级底层框架,一直用着netcore2.2
版本,导致有些包没能更新到最新的版本,例如:CAP
。
然而,在最近升级到CAP:3.1.2
版本的时候,发现有点小坑,只能退回到CAP:3.1.1
版本了。
二、原因
为啥要将CAP
版本从3.1.2
退回到3.1.1
呢?
根本原因:
CAP:3.1.2
移除了DotNetCore.CAP.Serialization.StringSerializer
序列化类。这将导致DotNetCore.CAP.MySql:3.0.4
的引用异常问题。https://github.com/dotnetcore/CAP/issues/764
在这里,可能会有人问,为什么不将DotNetCore.CAP.MySql
升级为3.1.2
版本呢?
由于本人使用
MySQL
数据库,因此,使用的是Pomelo.EntityFrameworkCore.MySql:3.2.4
版本的ORM。
然而,该类库约束了MySqlConnector
的最高版本与最低版本,又由于本人暂时还不想用net5
的情况下。因此,只能使用DotNetCore.CAP.MySql:3.0.4
版本。https://github.com/dotnetcore/CAP/issues/690
- CAP引用
- EFCore引用
三、解决方案
既然问题都找到了,那么现在就是解决问题的时候了。
该方案仅限于netcore3.1
,其它版本不负责呀。
相关版本如下:
DotNetCore.CAP
:3.1.1
DotNetCore.CAP.Dashboard
:3.1.1
。仪表盘这个也要引用StringSerializer
这个类,所以还是跟主版本一致吧。DotNetCore.CAP.RabbitMQ
:3.1.1
。个人使用版本,不解释。DotNetCore.CAP.MySql
:3.0.4
。目前来说,这个版本能在netcore3.1
中最后的版本了,其它更高的版本目测都得升级net5
。Pomelo.EntityFrameworkCore.MySql
:3.2.4
。目前来说,这个版本是netcore3.1
中最后的版本了。
还有一个终极方案,那就是直接拉代码下来,自己发包解决,嘿嘿嘿。
四、参考文献
五、后话
可能这是我个人试水出的问题,如果有更好的解决方式可以说一下。
不过这感觉会被拍死的节奏。
另外,如果想去试试掉坑的话,可以看看我的例子。
Bing.NetCore
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端