一、前言
最近,由于好久沒升級底層框架,一直用著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.1DotNetCore.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
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/248369.html
標籤:.NET技术
