将系统从.Net Core2.0升级到.Net Core2.1
最近将手头的一个.Net Core2.0开发的小系统升级到最新的Core2.1。升级期间遇到了一些问题,现将问题以及解决方法整理汇总一下。
一是作为笔记,二也为跟各位分享一下。如过能帮到看到这帖子的人,那也算功德一件。
一、安装最新Core2.1
从微软官网下载最新的Core2.1进行安装:https://www.microsoft.com/net/download/windows
安装完后重新生成项目就就会提示报错:
PS:我电脑上之安装了Core2.1所以才会报这个错误,如果你电脑上安装了Core2.0那请忽略上面的错误提示。因为安装Core2.0后估计就不会报错了。
第二、修改解决方案文件
打开解决方案csproj文件
将中的2.0修改为2.1
删除等类似的2.0的配置
第三、重新引用Core2.1
步将项目中所有引用的Core2.0卸载,并重新从Nuget中添加Core2.1的引用。——因为Core2.1中将2.0中的Microsoft.AspNetCore.All重新打包成了Microsoft.AspNetCore.App
将上图中框出的这几个统统从Nuge中重新引用Core2.1。—PS:工具——>Nuge包管理器——>管理解决方案的Nuget程序包
先卸载,然后再重新安装2.1.1
重新引用之后重新生成项目会报下面这个错误:
这个错误主要还是微软的锅。因为Core2.1中的Microsoft.NETCore.App并不包含Microsoft.VisualStudio.Web.BrowserLink。
注意:
以下内容依旧包含在 Microsoft.AspNetCore.All 中, 而 Microsoft.AspNetCore.App 中不存在
Microsoft.AspNetCore.ApplicationInsights.HostingStartup
Microsoft.AspNetCore.AzureAppServices.HostingStartup
Microsoft.AspNetCore.AzureAppServicesIntegration
Microsoft.AspNetCore.DataProtection.AzureKeyVault
Microsoft.AspNetCore.DataProtection.AzureStorage
Microsoft.AspNetCore.Server.Kestrel.Transport.Libuv
Microsoft.AspNetCore.SignalR.Redis
Microsoft.Data.Sqlite
Microsoft.Data.Sqlite.Core
Microsoft.EntityFrameworkCore.Sqlite
Microsoft.EntityFrameworkCore.Sqlite.Core
Microsoft.Extensions.Caching.Redis
Microsoft.Extensions.Configuration.AzureKeyVault
Microsoft.Extensions.Logging.AzureAppServices
Microsoft.VisualStudio.Web.BrowserLink
解决上面的错误只需要单独引用一下 Microsoft.VisualStudio.Web.BrowserLink就可以了
然后重新生成就可以了