• 欢迎访问开心洋葱网站,在线教程,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站,欢迎加入开心洋葱 QQ群
  • 为方便开心洋葱网用户,开心洋葱官网已经开启复制功能!
  • 欢迎访问开心洋葱网站,手机也能访问哦~欢迎加入开心洋葱多维思维学习平台 QQ群
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏开心洋葱吧~~~~~~~~~~~~~!
  • 由于近期流量激增,小站的ECS没能经的起亲们的访问,本站依然没有盈利,如果各位看如果觉着文字不错,还请看官给小站打个赏~~~~~~~~~~~~~!

[日常填坑系列]CAP食用指南-版本引用问题

Mysql 简玄冰 1592次浏览 0个评论

一、前言

最近,由于好久没升级底层框架,一直用着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引用
    [日常填坑系列]CAP食用指南-版本引用问题
  • EFCore引用
    [日常填坑系列]CAP食用指南-版本引用问题

三、解决方案

既然问题都找到了,那么现在就是解决问题的时候了。
该方案仅限于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中最后的版本了。

还有一个终极方案,那就是直接拉代码下来,自己发包解决,嘿嘿嘿。

四、参考文献

CAP 3.1 版本发布通告

五、后话

可能这是我个人试水出的问题,如果有更好的解决方式可以说一下。
不过这感觉会被拍死的节奏。
另外,如果想去试试掉坑的话,可以看看我的例子。
Bing.NetCore


开心洋葱 , 版权所有丨如未注明 , 均为原创丨未经授权请勿修改 , 转载请注明[日常填坑系列]CAP食用指南-版本引用问题
喜欢 (0)

您必须 登录 才能发表评论!

加载中……