最近手欠升級了下VS2017到15.7版本 然后更新了下sdk到2.1.300版本
那么麻煩就來了,原有項目就帶來了很多問題,更新所有包到最新就不用說了
下面說明下最主要存在的2問題:
第一個問題:調試啟動直接閃退
第二個問題:由於使用MySql dotnet ef migrations 會帶來這些錯誤
第三個問題:使用Cap+RabbitMQ 會出現數據庫無法自動生成以及UseDashboard無法使用的情況 訪問Dashboard出現以下錯誤
關於第一個問題:這里能給到解決辦法
https://docs.microsoft.com/en-us/aspnet/core/migration/20_21?view=aspnetcore-2.1
如果你不能很好的運用上面鏈接的處理方式,你可以通過如下鏈接下載2.1.301這個版本,就不需要做如上修改,這個版本目前還沒有正式發布
https://dotnetfeed.blob.core.windows.net/orchestrated-release-2-1/20180605-09/final/assets/Sdk/2.1.301-preview-008906/dotnet-sdk-2.1.301-win-x64.exe
關於第二個問題則是MySql相關的EFCore包帶來的問題,原來使用的是
MySql.Data.EntityFrameworkCore這個8.0.11這個 貌似這個還不能支持2.1
只有使用Pomelo.EntityFrameworkCore.MySql 2.1.0-rc1-final 了,引用后能解決第二個問題
關於第三個問題其實是Cap的最新版本2.2.4本生支持的數據庫Sqlserver2012+
但是如果你不想升級數據庫的話怎么 需要手動處理下Dbcontext的更新 添加 migrations 然后update 下,這是會創建好Cap相關表
這里update后數據庫生成了但是不會生成表,運行程序就會生成表了,關於cap dashboard只有放棄使用,但是不影響消息的發布訂閱
出現上面的問題告訴我更新需要謹慎,在不確定項目中使用的其他nuget包能在2.1環境下正常使用的情況下,不要盲目的更新