一、前言

最近,由于好久没升级底层框架,一直用着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中最后的版本了。

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

四、参考文献

CAP 3.1 版本发布通告

五、后话

可能这是我个人试水出的问题,如果有更好的解决方式可以说一下。

不过这感觉会被拍死的节奏。

另外,如果想去试试掉坑的话,可以看看我的例子。

Bing.NetCore

[日常填坑系列]CAP食用指南-版本引用问题的更多相关文章

  1. MySQL填坑系列--Linux平台下MySQL区分大小写问题

    大家好,我是软件大盗(道),下面开始我们的<MySQL填坑系列>. 笔者最近又在MySQL的边缘试探,然后,试探着,试探着就报错了. 书接上文,系统连接数据库时报错:找不到DB_TIMIN ...

  2. 填坑系列:通过ESXi来配置IPMI

    近日西安的天气很不错,可是看到从其他地方迁移来的主机在新环境下无法远程调试怪郁闷的,这就需要填坑,要不就会给后来者挖更大的坑. 今天遇到的坑是在IPMI的网络设置里面启用了VLAN标签之后,在新环境下 ...

  3. pycharm日常填坑

    pycharm坑很多,今天又遇见了,好吧 ,填坑 场景:从别的地方拷贝过来的项目,导入本地的pycharm 然后选择 然后 还会报错....心累 报错内容: django commands canno ...

  4. Android填坑系列:在小米系列等机型上放开定位权限后的定位请求弹框

    背景: 近期因实际项目需要,在特定操作下触发定位请求,取到用户位置及附近位置. 问题: 经初步选型,最终决定接入百度定位,按照百度定位SDK Android文档,接入过程相对顺利.但随后发现,在小米系 ...

  5. (填坑系列) 用aio写server与client进行通信的坑

    最近闲来无事,就估摸着自己写个“服务注册中心”来玩,当然因为是个人写的,所以一般都是简洁版本. 代码地址在:https://gitee.com/zhxs_code/my-service-registe ...

  6. 日常采坑:.NET Core SDK版本问题

    1..NetCore SDK版本问题 .NetCore3.1 webapi 部署linux,遇到一个坑,开启的目录浏览功能失效,几番尝试发现是版本问题.本地sdk版本与linux安装的sdk版本不对应 ...

  7. Android填坑系列:Android JSONObject 中对key-value为null的特殊处理

    在与服务端通过JSON格式进行交互过程中,不同版本的JSON库在对于key-value为null情况上的处理不同. Android自带的org.json对key-value都要求不能为null,对于必 ...

  8. Vue 填坑系列(持续更新...)

    1.遇到页面显示不更新,数据已更新情况 vue-cli中: this.$nextTick(function () { this.x=x; })     以js引入vue的网页中: this.$set( ...

  9. linux,发布.netcore填坑,自动升级core版本后,运行报错:'Microsoft.AspNetCore.App', version '3.0.0' was not found.

    近来有点空,所以研究下,netcore这个神器~    号称跨平台的利器,从此net不在局限于windows服务器了,早点该多好呀,这样我们net程序员,不香吗? 网上搜,‘netcore 发布liu ...

随机推荐

  1. 公司只提供签名服务,不提供证书文件,如何打包Electron应用

    需求 稍微正规点的公司,都要为自己开发的软件做代码签名,如下图所示 代码签名的主要目的是为了确保软件的来源(这个软件是由谁生产的)和软件的内容不被篡改 一个软件公司可能有很多团队,很多开发者,开发不同 ...

  2. js 实现字符串翻转

    字符串作在程序中是非常常见的,因为程序中绝大部分的数据都可以当作字符串来处理.在这里介绍几种翻转字符串的方法. (1)使用字符串函数 //使用数组翻转函数 function reverseString ...

  3. JVM的艺术—类加载器篇(三)

    JVM的艺术-类加载器篇(三) 引言 今天我们继续来深入的剖析类加载器的内容.上篇文章我们讲解了类加载器的双亲委托模型.全盘委托机制.以及类加载器双亲委托模型的优点.缺点等内容,没看过的小伙伴请加关注 ...

  4. EditPlus各个版本的注册码,亲测可用

    原文链接:https://www.cnblogs.com/shihaiming/p/6422441.html EditPlus4注册码 注册名:host1991    序列号:14F50-CD5C8- ...

  5. MySQL PXC集群安装配置

    1.关闭防火墙 [root@node04 ~]#systemctl disable firewalld [root@node04 ~]#systemctl stop firewalld [root@n ...

  6. selenium IDE使用-1

    selenium 硒 Mercury汞,外国人喜欢取这化学的名字 一.selenium概述 1.selenium是开源免费的,针对web应用程序功能自动化测试的工作. 2.做功能自动化的原因:回归测试 ...

  7. Typora + 七牛云图床快速配置,告别手动上传图片!

    大家好,我是zeroing,本文将介绍关于 Typora 软件如何配置七牛云图床,实现图片即插即用,可以先看一下最终效果! 可以看到图片借助 Typora 软件自动将本地存储转化为第三方图片网络链接 ...

  8. Python炫技操作:五种Python 转义表示法

    1. 为什么要有转义? ASCII 表中一共有 128 个字符.这里面有我们非常熟悉的字母.数字.标点符号,这些都可以从我们的键盘中输出.除此之外,还有一些非常特殊的字符,这些字符,我通常很难用键盘上 ...

  9. C#反编译工具ILSpy 反汇编

    ILSpy反编译工具之C#反汇编   1.下载ILspy工具 https://github.com/icsharpcode/ILSpy#ilspy------- 注意: ILspy需要在电脑上安装.N ...

  10. Hyperledger fabric 1.4 环境搭建(一)

    Hyperledger fabric 1.4 环境搭建(一) 1.更换下载源 更换apt的下载源,因为官方下载源很慢,需要更换到国内的镜像站 1.1.进入/etc/apt/目录 cd etc/apt ...