【Blog.Core开源】快速升级.NET 6.0

2022-04-11 16:26:52 浏览数 (1)

《Blog.Core》开源项目已经3年,期间收获了很多很多,同时也收到了很多小伙伴的支持和鼓励,才使得我有足够的心力从2.0到2.1、2.2、3.0、3.1和稳定了一年的5.0主版本。当然不会停止脚步的,在7月14号微软官方发布第六个6.0版本之际,老张决定是时候升级一波了,目前已经升级完成,并单独建立分支,主版本还是5.0,等官方正式发布后,我再合并到主分支。

本文发布文章,只是证明,从5.0到6.0还是那么简单。其实官网永远是最好的老师,你可以直接看官网:

https://docs.microsoft.com/zh-cn/aspnet/core/migration/50-to-60?view=aspnetcore-5.0&tabs=visual-studio

PS:文章还是直接用的VS2019,如果要用VS2022,可以自行搜索资料吧。

升级VS,安装SDK

首先最重要的就是升级VS2019,直接点击更新即可,大约1.7个G,保持一个好的网络吧,其他的不说了:

安装完成,可以查看自己的版本:

现在可以用VS2019创建一个项目,发现样式已经变化了:

好啦,VS已经更新完成,现在下载SDK,这个比较简单,想必已经轻车熟路了,直接上链接:

https://dotnet.microsoft.com/download/dotnet/6.0

安装过程很简单,一路Next即可:

安装完成!习惯性的CMD命令窗口测试一波:

看一下VS2019属性,列表中已经有了,如果没有就重启下:

万事俱备,接下来,就开始动手升级项目吧!

升级项目到.NET 6.0

如果依赖于文件 global.js 特定 .NET SDK 版本,将 属性更新为 version 已安装的 .NET 6.0 SDK 版本。例如:

代码语言:javascript复制
{
  "sdk": {
-    "version": "5.0.100"
     "version": "6.0.100-preview.2.21155.3"
  }
}

当然,我们直接更新.csproj文件即可,一共13个子项目,Blog.Core也是一个比较齐全的项目,功能涵盖很多,所以很有实践生产意义,最后升级完成是这样的:

只需要把5.0改成6.0即可:

代码语言:javascript复制
<Project Sdk="Microsoft.NET.Sdk.Web">

  <PropertyGroup>
-    <TargetFramework>net5.0</TargetFramework>
     <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>

</Project>

然后也顺带着把所有的nuget都升级下,记得勾选预览哟:

启动项目,预览效果

升级是很简单的,可能启动会报错,如果你用了IPLimit限流,可能会遇到这个问题:

从错误上可以看到,是缺少依赖注入,不要慌张,把错误搜索一下,就可以看到官方GitHub已经说到了,有两种情况,可以注入缺少的接口,也可以直接用官方封装好的扩展方法:

代码语言:javascript复制
 services.AddSingleton<IProcessingStrategy, AsyncKeyLockProcessingStrategy>();

 // 也可以直接,添加内存模式下的限流全部相关依赖
 // https://github.com/stefanprodan/AspNetCoreRateLimit/releases/tag/4.0.0
 //services.AddInMemoryRateLimiting();

咱继续往下走,可能会遇到其他小错误,比如获取根路径问题,不要怕,改一下即可:

代码语言:javascript复制
-  var basePath = Microsoft.DotNet.PlatformAbstractions.ApplicationEnvironment.ApplicationBasePath;
   var basePath = AppContext.BaseDirectory;

继续运行,出现了熟悉的画面,成了!

整个过程很简单很丝滑,就算是有,也都是小问题,启动好后,内存也很正常

打完收工!

0 人点赞