一、前言
最近,由于好久没升级底层框架,一直用着 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
中最后的版本了。
还有一个终极方案,那就是直接拉代码下来,自己发包解决,嘿嘿嘿。
四、参考文献
五、后话
#感谢您访问本站# #本文转载自互联网,若侵权,请联系删除,谢谢!657271#qq.com#
注意:本文来自网友投稿。本站无法对本文内容的真实性、完整性、及时性、原创性提供任何保证,请您自行验证核实并承担相关的风险与后果!
CoLaBug.com遵循[CC BY-SA 4.0]分享并保持客观立场,本站不承担此类作品侵权行为的直接责任及连带责任。您有版权、意见、投诉等问题,请通过[eMail]联系我们处理,如需商业授权请联系原作者/原网站。