首页 > 其他分享 >AgileConfig 1.8.0 已适配 .NET8

AgileConfig 1.8.0 已适配 .NET8

时间:2023-12-10 18:35:09浏览次数:41  
标签:适配 1.8 升级 NET8 镜像 docker com AgileConfig

Hello 大家好。本月圈子里最大的事莫过于 .NET8 正式 release。群友们都在适配 .NET8。抽个周末我也把 AgileConfig 升级到了 .NET8。下面把升级的过程简单记录一下,其中有个小坑,对大家升级的时候可能有所帮助。

升级

  • 升级 .NET8
    修改所有项目的目标框架为 .NET8.0
  • 升级 nuget 包
    在 nuget 包管理器里把所有能更新的包全部更新到最新。

    有一个包 Microsoft.AspNetCore.Http.Abstractions 提示已经弃用,需要处理一下。

    因为这个包现在微软已经不在 nuget 上提供,需要使用框架引用。
    修改项目文件,在 ItemGroup里添加以下内容:
 <ItemGroup>
    <FrameworkReference Include="Microsoft.AspNetCore.App" />
 </ItemGroup>


再次编译,警告消息。
这个问题其实跟 .NET8 没有关系,应该是我 3.1 升 6 的时候遗忘了。

  • 修改 dockerfile
    原来的 dockerfile 是基于 .NET6 镜像的,需要修改为 .NET8
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/#symptoms

总结

本次升级可以说相当简单。得益于 .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

关注我的公众号一起玩转技术

标签:适配,1.8,升级,NET8,镜像,docker,com,AgileConfig
From: https://www.cnblogs.com/kklldog/p/agileconfig-up-to-net8.html

相关文章

  • 23种设计模式——适配器模式
    今天开始我们就要进入到结构型的设计模式学习之中了,今天讲的设计模式是23种设计模式的第六种——适配器模式。通俗的讲,适配器的作用就是将两个互不兼容的东西进行一个适配的操作,它作为中间的桥梁。下面我们进入适配器模式的学习。应用前景:在现实生活中,适配器这样的例子随处可......
  • vue2、vue3适配大屏。分辨率变化,样式不变
    一、vue3适配大屏的,创建一个叫useDraw.jsexportdefaultfunction(){constscale={width:'1',height:'1',}constbaseWidth=1920constbaseHeight=1080constbaseProportion=parseFloat((baseWidth/baseHeight).toFixed(5......
  • CSS 网页适配 iPhone全面屏
    前言iPhoneX取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题。对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常见的吸底导航、返回顶部等各种相对底部fixed定位的元素)。 适配之前需要......
  • 前端大屏适配几种方案
    一、方案一:rem+font-size动态设置HTML根字体大小和body字体大小,会使用到lib-flexible.js插件(functionflexible(window,document){vardocEl=document.documentElementvardpr=window.devicePixelRatio||1//adjustbodyfontsizefunctionsetBodyFontSize(......
  • 自定义精美商品分类列表组件 侧边栏商品分类组件 category组件(适配vue3)
    随着技术的发展,开发的复杂度也越来越高,传统开发方式将一个系统做成了整块应用,经常出现的情况就是一个小小的改动或者一个小功能的增加可能会引起整体逻辑的修改,造成牵一发而动全身。通过组件化开发,可以有效实现单独开发,单独维护,而且他们之间可以随意的进行组合。大大提升开发效率......
  • 接口适配
    接口适配背景某个WebService接口在实现框架替换后,WSDL和请求响应报文中XML的格式与原实现存在差异,比如namespace别名定义,层级(是否应该带有in0之类的层级)等。因为接口被广泛使用,所以需要保证新的接口和原接口一摸一样。解决方案通过拦截器或能实现类似效果的截面层对请求和响......
  • 通义千问72B、1.8B、Audio模型发布,效仿Meta掀桌子
    引言阿里云的千问模型再次升级,展现了强大的实力!开源了通义千问720亿参数模型Qwen-72B、18亿参数模型Qwen-1.8B及音频大模型Qwen-Audio。这一次,仅凭700亿参数和2GB显存,千问模型就大放异彩。感觉就像是阿里云在闭源市场与讯飞、百度竞争不过,决定效仿Meta,转向开源战略。这对于百度文......
  • uni-app打包成H5,与PC不适配的问题
    既然是写专门的H5站,那说明希望在pc打开,也是H5的排版,比如一体机上,它是网页打开,但是尺寸是1080*1920,在pages.json配置:这里我配置了1920,是因为网页端还有1920的尺寸最大宽度是配置了1920,超出两边留白,这个我测了一下,似乎有点变形,但是我这边目前只需要适配1080的宽度,所以这一点留给大......
  • Unity屏幕适配的3个妙招
    屏幕适配是面试中必问的一个题目,今天给大家说说怎么样做屏幕适配。对惹,这里有一个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀!设计分辨率大家都好理解,那么什么是适配策略呢?假设我们以设计分辨率是960x640为例,我们要适配到1920x1080上面,大家会发现,这个怎......
  • 适配器模式
    1模式动机在软件系统中,由于应用环境的变化,常常需要将“一些现存的对象”放在新的环境中应用,但是新环境要求的接口是这些现存对象所不满足的。如何应对这种“迁移的变化”?如何既能利用现有对象(老接口)的良好实现,同时又能满足新的应用环境所要求的接口?Adapter模式主要应用于“......