asp.net core 从 3.1 到 5.0
asp.net core 从 3.1 到 5.0
Intro
就在前几天,微软宣布了 .NET5 发布了 RC1 版本,这也意味着 .NET5 的开发基本稳定了,正式发布之前,不会再新增新的 Feature,只会专注于修复 BUG 提高稳定性。
对于开发者来说,RC版本的发布也意味着功能的稳定,可以上手尝尝鲜了,正式版的 API 不会再发生变化了,即使后面迁移到正式版也会很简单
于是尝试着把我之前练手的一个小项目 asp.net core webapi 的项目从 3.1 迁移到了 5.0,意想不到的顺利,要比 2.x 更新顺序的多
项目文件更新
首先需要更新项目的 TargetFramework 从原来的 netcoreapp3.1 变更到 net5.0

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

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

More
总体来说,更新还是相当顺利的,从 3.1 到 5.0,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
asp.net core 从 3.1 到 5.0的更多相关文章
- IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习保护API
IdentityServer4 ASP.NET Core的OpenID Connect OAuth 2.0框架学习之保护API. 使用IdentityServer4 来实现使用客户端凭据保护ASP.N ...
- ASP.NET Core 2.2 迁移至 3.0 备忘录
将 ASP.NET Core 2.2 迁移至 ASP.NET Core 3.0 需要注意的地方记录在这篇随笔中. TargetFramework 改为 netcoreapp3.0 <Target ...
- asp.net core 支付宝支付( 电脑2.0)
支付宝电脑支付实测在手机浏览器也可以唤醒手机支付宝进行支付,因此也可以作为支付宝手机web支付方式.支付宝电脑支付流程为使用支付宝官方sdk通过获取的支付宝参数构造DefaultAopClient实例 ...
- ASP.NET Core 2.2 项目升级至 3.0 备忘录
将 ASP.NET Core 2.2 迁移至 ASP.NET Core 3.0 需要注意的地方记录在这篇随笔中. TargetFramework 改为 netcoreapp3.0 <Target ...
- 从 ASP.NET Core 3.1 迁移到 5.0
3月中旬,微软官方已经发布了dotnet 5的第一个预览版:5.0.0-preview.1. dotnet core经过前几个版本的发展和沉淀,到3.1已经基本趋于稳定. 所以从.net core 3 ...
- 【原创】Asp.NET Core Web API与Vue 3.0搭建前后分离项目
特地记录一下,网上的教程写的稀里糊涂的,整得我都心塞塞的,其实实现的过程蛮简单的 问题是这样的:我将Vue构建生成好的文件,放在后端wwwroot文件里面,并开启静态文件访问功能,结果总是无法显示相应 ...
- ASP.NET Core MVC配置差异(3.0和2.X)
https://www.cnblogs.com/lonelyxmas/p/10934388.html net core 2.x MVC配置 public void ConfigureServices( ...
- Asp.Net Core 2.2 - HTTP Error 500.0 - ANCM In-Process Handler Load Failure
检查发布文件下是否存在runtime这个文件夹,如图
- ASP.NET Core 1.1 Preview 1 简介(包含.NETCore 1.1升级公告)
ASP.NET Core 1.1 Preview 1于2016年10月25日发布.这个版本包括许多伟大的新功能以及许多错误修复和一般的增强. 要将现有项目更新到ASP.NET Core 1.1 Pre ...
随机推荐
- angular schametics 使用记录
什么是 schametics Schematics是Angular团队发布的一个代码生成工具.它提供了API,可以操作文件并在Angular项目中添加新的依赖项,ng cli 创建模板就是用它. 它也 ...
- 手把手教Linux驱动2-之模块参数和符号导出
通过<手把手教Linux驱动1-模块化编程,玩转module>的学习,我们已经掌握了如何向内核加载一个模块,现在我们学习模块之间如何传递参数. 一.给模块传递参数 当我们加载一个模块到Li ...
- Spring MVC 的运行流程
1.用户发送请求到DispatcherServlet 2.DispatcherServlet调用处理器映射器(HanderMapping)找到处理器 3.处理器映射器(HanderMapping)返回 ...
- Overcoming Forgetting in Federated Learning on Non-IID Data
郑重声明:原文参见标题,如有侵权,请联系作者,将会撤销发布! 以下是对本文关键部分的摘抄翻译,详情请参见原文. NeurIPS 2019 Workshop on Federated Learning ...
- ReentrantLock特性
1.中断 2.超时 3.公平 4.重入 5.多条件
- springBoot整合spring security实现权限管理(单体应用版)--筑基初期
写在前面 在前面的学习当中,我们对spring security有了一个小小的认识,接下来我们整合目前的主流框架springBoot,实现权限的管理. 在这之前,假定你已经了解了基于资源的权限管理模型 ...
- Java拷贝——深拷贝与浅拷贝
深拷贝和浅拷贝 值类型 vs 引用类型 在Java中,像数组.类Class.枚举Enum.Integer包装类等等,就是典型的引用类型,所以操作时一般来说采用的也是引用传递的方式: 但是Java的语言 ...
- Redis锁实现防重复提交和并发问题
@Slf4j @Component public class RedisLock { public static final int LOCK_EXPIRE = 5000; @Autowired pr ...
- PyCharm切换解释器版本
Mac PyCharm > Preferences... > Project Interpreter > Python Interpreters Windows File->D ...
- 使用docker部署hadoop集群
最近要在公司里搭建一个hadoop测试集群,于是采用docker来快速部署hadoop集群. 0. 写在前面 网上也已经有很多教程了,但是其中都有不少坑,在此记录一下自己安装的过程. 目标:使用doc ...