Hello 大家好。本月圈子裡最大的事莫過於 .NET8 正式 release。群友們都在適配 .NET8。抽個週末我也把 AgileConfig 升級到了 .NET8。下面把升級的過程簡單記錄一下,其中有個小坑,對大家升級的時候可能有所幫助。
Microsoft.AspNetCore.Http.Abstractions
提示已經棄用,需要處理一下。 <ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
再次編譯,警告訊息。
這個問題其實跟 .NET8 沒有關係,應該是我 3.1 升 6 的時候遺忘了。
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
....
FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
....
把 6 改成 8,其他不用改,超級簡單。
通過以上操作,在本地執行沒有問題,打包成映象後在本地 docker desktop 環境下跑也沒問題。但是釋出到伺服器上用映象跑缺報錯:Failed to create CoreCLR, HRESULT: 0x80070008
警告排查是由於低版本的 docker engine 與某些 ubuntu 的映象不相容,需要在 docker run 的時候新增引數。
--security-opt seccomp=unconfined
或者在 docker-compose.yml 上新增引數:
security_opt:
- seccomp=unconfined
新增以上引數後一切正常了。
參考:https://docs.linuxserver.io/FAQ/
本次升級可以說相當簡單。得益於 .NET 介面的穩定,升級框架幾乎不用動任何一行自己的程式碼。只是最新的 .aspnet8 runtime 的映象對低版本的 docker engine 相容性有點問題,使用 docker 跑的同學需要注意一下。
✨✨✨Github地址:https://github.com/dotnetcore/AgileConfig 開源不易,歡迎star✨✨✨
✨✨✨Gitee地址:https://gitee.com/kklldog/AgileConfig ✨✨✨
演示地址:http://agileconfig_server.xbaby.xyz/ 超級管理員賬號:admin 密碼:123456
QQ群:1022985150 VX:kklldog 一起探討學習.NET技術
作者:Agile.Zhou(kklldog)
出處:http://www.cnblogs.com/kklldog/
本文版權歸作者和部落格園共有,歡迎轉載,但未經作者同意必須保留此段宣告,且在文章頁面明顯位置給出原文連線,否則保留追究法律責任的權利。