最近手欠升级了下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环境下正常使用的情况下,不要盲目的更新