Fork me on GitHub

关于.NetCore 2.0 迁移到2.1的一些建议和问题

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

 

posted @ 2018-06-20 10:01  龙码精神  阅读(1588)  评论(0编辑  收藏  举报