netcore docker_asp.net core 从 3.1 到 5.0

99b5a9584f11d7851949a81b85bacbf6.png

http://asp.net core 从 3.1 到 5.0

Intro

就在前几天,微软宣布了 .NET5 发布了 RC1 版本,这也意味着 .NET5 的开发基本稳定了,正式发布之前,不会再新增新的 Feature,只会专注于修复 BUG 提高稳定性。

对于开发者来说,RC版本的发布也意味着功能的稳定,可以上手尝尝鲜了,正式版的 API 不会再发生变化了,即使后面迁移到正式版也会很简单

于是尝试着把我之前练手的一个小项目 http://asp.net core webapi 的项目从 3.1 迁移到了 5.0,意想不到的顺利,要比 2.x 更新顺利的多

项目文件更新

首先需要更新项目的 TargetFramework 从原来的 netcoreapp3.1 变更到 net5.0

606049d228a857f8246832c0714b35c8.png

包引用更新

原来引用的 3.1.x 版本的 nuget 包更新成 5.0 的包

779e44e49240f18188a541f2d93c19ac.png

这里有几个不是 http://asp.net core 的包也顺带更新了

这里更新用的包版本我使用的不是具体的版本号,你也可以使用具体的版本号,都是可以的

Docker 镜像更新

docker 镜像的更新分为两部分,一个是镜像名称,一个是镜像 tag

镜像 tag 比较好说,要从 3.1 更新成 5.0

镜像名称的变化是原来的镜像名称中有一个 core,在 net 5.0 中移除了,不再突出区分 core

具体的如下:

mcr.microsoft.com/dotnet/core/sdk => mcr.microsoft.com/dotnet/sdk

mcr.microsoft.com/dotnet/core/aspnet => mcr.microsoft.com/dotnet/aspnet

9ad0b64437000d155e1ecd4a66250272.png

More

总体来说,更新还是相当顺利的,从 3.1 到 5.0,http://asp.net core 的 API 大多都是兼容的,没有特别大的变更(Blazor 除外,Blazor有一些大的变更), 只需要更新项目 Target 和包版本以及 dockerfile 中基本镜像的更新。

docker 镜像需要注意一下,不仅仅是改一下 tag,从 3.1 改成 5.0,最近我就是这样改的,结果提示找不到 tag,导致 build 失败了,

后来仔细看了一下,docker 镜像名称也发生了变化,移除了原来镜像名称中的 core,更好的体现了 target 的变化,无论是项目文件中的 TargetFramework 还是 docker 镜像都移除了名称中的 core,也正是体现了微软对于 .net core 的发展路线

后来突然想起来微软官方文档上应该有迁移文档,然后就赶紧去看一下,微软文档上已经有说明了 docker 镜像名称的变化(应该先看微软的官方文档才对。。。不要学我,要先看微软的文档)

Reference

  • https://hub.docker.com/_/microsoft-dotnet-sdk/
  • https://hub.docker.com/_/microsoft-dotnet-aspnet/
  • https://hub.docker.com/_/microsoft-dotnet/
  • https://docs.microsoft.com/en-us/aspnet/core/migration/31-to-50?view=aspnetcore-5.0&tabs=visual-studio
  • https://docs.microsoft.com/zh-cn/aspnet/core/migration/31-to-50?view=aspnetcore-5.0&tabs=visual-studio
  • https://github.com/WeihanLi/SparkTodo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值