asp.net core 从 3.1 到 5.0
asp.net core 從 3.1 到 5.0
Intro
就在前幾天,微軟宣布了 .NET5 發(fā)布了 RC1 版本,這也意味著 .NET5 的開發(fā)基本穩(wěn)定了,正式發(fā)布之前,不會再新增新的 Feature,只會專注于修復(fù) BUG 提高穩(wěn)定性。
對于開發(fā)者來說,RC版本的發(fā)布也意味著功能的穩(wěn)定,可以上手嘗嘗鮮了,正式版的 API 不會再發(fā)生變化了,即使后面遷移到正式版也會很簡單
于是嘗試著把我之前練手的一個小項目 asp.net core webapi 的項目從 3.1 遷移到了 5.0,意想不到的順利,要比 2.x 更新順利的多
項目文件更新
首先需要更新項目的 TargetFramework 從原來的 netcoreapp3.1 變更到 net5.0
包引用更新
原來引用的 3.1.x 版本的 nuget 包更新成 5.0 的包
這里有幾個不是 asp.net core 的包也順帶更新了
這里更新用的包版本我使用的不是具體的版本號,你也可以使用具體的版本號,都是可以的
Docker 鏡像更新
docker 鏡像的更新分為兩部分,一個是鏡像名稱,一個是鏡像 tag
鏡像 tag 比較好說,要從 3.1 更新成 5.0
鏡像名稱的變化是原來的鏡像名稱中有一個 core,在 net 5.0 中移除了,不再突出區(qū)分 core 了
具體的如下:
mcr.microsoft.com/dotnet/core/sdk => mcr.microsoft.com/dotnet/sdk
mcr.microsoft.com/dotnet/core/aspnet => mcr.microsoft.com/dotnet/aspnet
More
總體來說,更新還是相當(dāng)順利的,從 3.1 到 5.0,asp.net core 的 API 大多都是兼容的,沒有特別大的變更(Blazor 除外,Blazor有一些大的變更), 只需要更新項目 Target 和包版本以及 dockerfile 中基本鏡像的更新。
docker 鏡像需要注意一下,不僅僅是改一下 tag,從 3.1 改成 5.0,最近我就是這樣改的,結(jié)果提示找不到 tag,導(dǎo)致 build 失敗了,
后來仔細看了一下,docker 鏡像名稱也發(fā)生了變化,移除了原來鏡像名稱中的 core,更好的體現(xiàn)了 target 的變化,無論是項目文件中的 TargetFramework 還是 docker 鏡像都移除了名稱中的 core,也正是體現(xiàn)了微軟對于 .net core 的發(fā)展路線
后來突然想起來微軟官方文檔上應(yīng)該有遷移文檔,然后就趕緊去看一下,微軟文檔上已經(jīng)有說明了 docker 鏡像名稱的變化(應(yīng)該先看微軟的官方文檔才對。。。不要學(xué)我,要先看微軟的文檔)
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
總結(jié)
以上是生活随笔為你收集整理的asp.net core 从 3.1 到 5.0的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何使用 C# 中的 ValueTask
- 下一篇: 送福利 | 送书3本 ASP.NET C