2.【.NET10 实战--孢子记账--产品智能化】--升级前的准备工作:项目依赖梳理与升级计划制定

news2026/3/17 7:25:37
我们在日常产品维护时往往会遇到底层基础框架需要升级的情况尤其是当底层框架升级到一个新的大版本时可能会带来一些不兼容的变更这时候我们就需要做好充分的准备工作以确保升级过程顺利进行。从本文开始我们将详细讲解如何将我们的产品从 .NET 8 升级到 .NET 10 。在正式升级之前我们需要对项目的依赖关系进行全面梳理包括第三方库的版本兼容性、NuGet 包的升级情况以及项目中使用的一些已废弃的 API 是否在新版本中被移除。与此同时我们还需要制定一份详细的升级计划明确升级的步骤、时间节点以及回滚方案以便在升级过程中出现问题时能够快速恢复到原有状态。只有做好这些准备工作才能最大程度地降低升级风险确保项目在升级后能够正常运行。一、确认环境在升级之前首先需要确认当前的开发环境是否满足 .NET 10 的要求。我们需要检查以下几个方面操作系统确保开发环境的操作系统版本支持 .NET 10以下是最低操作系统版本和推荐操作系统版本。平台最低支持版本推荐版本WindowsWindows 10 (1607) / Server 2016Windows 11 / Server 2022macOSmacOS 12 (Monterey)macOS 15 (Sequoia)LinuxUbuntu 20.04 / RHEL 8.10 / Debian 11最新 LTS 版本 (如 Ubuntu 24.04)开发工具确保使用的开发工具已经更新到支持 .NET 10 的版本。建议使用最新版本的 Visual Studio 2022 或更高版本以获得最佳的开发体验和兼容性。.NET SDK安装 .NET 10 SDK并确保环境变量配置正确。可以通过命令行运行dotnet --version来验证安装是否成功。安装 dotnet-outdated-tool这是一个非常有用的工具可以帮助我们检查项目中使用的 NuGet 包是否有更新版本是否存在过时的包特别是那些可能不兼容 .NET 10 的包。安装命令如下dotnet toolinstall--globaldotnet-outdated-tool以上这些环境确认步骤是升级前必须做的基础准备工作确保开发环境与 .NET 10 的要求相匹配可以避免在升级过程中遇到不必要的环境兼容性问题。二、升级步骤在这一小节我们将详细讲解升级步骤为后续的升级做准备。2.1 基础框架升级框架升级涉及到 10个.csproj10个Dockerfile文件的修改以及一些基础设施相关的配置文件的调整。我们需要将所有项目的目标框架Target Framework从net8.0修改为net10.0并且升级所有相关的 NuGet 包到支持 .NET 10 的版本。在这个过程中我们可能会遇到一些破坏性变更Breaking Changes需要仔细阅读 .NET 10 的发布说明了解哪些 API 已经被废弃或移除并且根据需要修改代码以适应新的框架版本。下面这个检查列表可以帮助我们系统地完成升级将所有.csproj中TargetFrameworknet8.0/TargetFramework改为net10.010 个服务可并行修改更新所有Dockerfile基础镜像mcr.microsoft.com/dotnet/sdk:8.0→mcr.microsoft.com/dotnet/sdk:10.0mcr.microsoft.com/dotnet/aspnet:8.0→mcr.microsoft.com/dotnet/aspnet:10.0移除SP.Common/SP.Common.csproj中严重过时的Microsoft.AspNetCore.Http.Abstractions 2.2.02018 年 ASP.NET Core 2.2 遗留包.NET 10 框架已内置从各服务.csproj中移除以下在net10.0框架内已内置的包System.Text.Json出现在 SP.Common 等多个服务System.Text.Encodings.Web出现在 IdentityService、FinanceService、ConfigService、NotificationService、ReportService 服务中2.2 微软官方包批量升级这是一个低风险步骤我们只需要将下表中包的版本升级到支持 .NET 10 的最新版本即可。可以使用dotnet-outdated工具来自动检查和升级这些包确保它们与 .NET 10 兼容。包名当前版本目标版本涉及服务数Microsoft.EntityFrameworkCore.*所有子包8.0.810.0.x8 个Microsoft.AspNetCore.Identity.EntityFrameworkCore8.0.810.0.x6 个Microsoft.AspNetCore.Authentication.JwtBearer8.0.810.0.xConfigService、IdentityServiceMicrosoft.Extensions.*所有 Abstractions8.0.x10.0.xSP.CommonSystem.Formats.Asn18.0.110.0.x 或移除SP.GatewayMicrosoft.VisualStudio.Web.CodeGeneration.Design8.0.710.0.x6 个开发工具Microsoft.Build17.8.43对齐 SDK 版本6 个开发工具同样列出检查列表批量执行包版本升级Microsoft.EntityFrameworkCore.*所有子包Microsoft.AspNetCore.Identity.EntityFrameworkCoreMicrosoft.AspNetCore.Authentication.JwtBearerMicrosoft.Extensions.*所有 AbstractionsSystem.Formats.Asn1升级到支持 .NET 10 的版本或根据 .NET 10 的更新情况考虑移除Microsoft.VisualStudio.Web.CodeGeneration.Design升级到支持 .NET 10 的版本Microsoft.Build升级到与 .NET 10 SDK 版本对齐的版本2.3 EF Core Pomelo MySQL这一步属于中风险操作我们要做的是将Pomelo.EntityFrameworkCore.MySql 8.0.3包升级到 10.0.x 版本以确保它与 EF Core 10 和 .NET 10 兼容这个操作一共涉及八个微服务。在升级完后我们还需要验证每个微服务的EF Core 的迁移历史是否能够正常应用到 MySQL 数据库中确保数据访问层在升级后能够正常工作。以下是检查列表EF Core 官方包随 Phase 2 一同升到10.0.xPomelo.EntityFrameworkCore.MySql 8.0.3→ 升到10.0.xPomelo 版本号跟随 EF Core 而非 MySQL Server 版本在 NuGet 上确认10.0.x可用涉及 8 个服务验证各服务 EF Core 迁移历史EF 8 → 10 的迁移文件本身通常无需修改TipPomelo 版本号跟随 EF Core 的版本号而非 MySQL Server 版本号2.4 认证与安全包这一步也是中风险操作我们需要升级 OpenIddict 包到支持 .NET 10 的版本以确保认证和授权功能在升级后能够正常工作。OpenIddict 是我们项目中用于实现身份认证和授权的核心组件升级过程中需要特别注意它与 ASP.NET Core 10 的兼容性以及可能引入的破坏性变更。以下是检查列表OpenIddict 7.0.0→ 升级到最新版确认net10.0TFM 支持涉及 4 个包出现在 SP.Gateway 和 SP.IdentityService包名出现位置OpenIddict.AspNetCoreIdentityServiceOpenIddict.EntityFrameworkCoreIdentityServiceOpenIddict.Validation.AspNetCoreGateway、IdentityServiceOpenIddict.Validation.ServerIntegrationGatewaySystem.IdentityModel.Tokens.Jwt 8.12.1→ 升到最新版确认与新版 OpenIddict 兼容SP.CommonAzure.Identity 1.11.4→ 升到最新版SP.Gateway2.5 API 文档迁移 — Swashbuckle → OpenAPI Scalar这一步的风险不大但是工作量巨大。我们需要将所有微服务中使用的 Swashbuckle 包替换为 OpenAPI 和 Scalar 相关的包以适应 .NET 10 的新特性和最佳实践。这个操作涉及到 API 文档生成和维护的核心部分需要确保在替换过程中 API 文档能够正确生成并且与现有的 API 定义保持一致。1. 所有服务这里是针对八个服务都需要升级的包我们需要将以下 Swashbuckle 包替换为 OpenAPI 和 Scalar 相关的包并且修改Program.cs中的 API 文档配置代码以适应新的包和 .NET 10 的特性。以下是检查列表每个服务.csproj移除Swashbuckle.AspNetCore 6.6.2添加Scalar.AspNetCoreNuGet 包每个服务Program.cs移除AddSwaggerGen(c { ... })整个配置块含 XML 注释、Bearer 安全配置移除app.UseSwagger()和app.UseSwaggerUI()添加基于 .NET 10 OpenAPI 的新配置// 注册 OpenAPI含 JWT Bearer 安全方案builder.Services.AddOpenApi(options{options.AddDocumentTransformer((document,context,ct){document.Infonew(){Title服务名称 API,Versionv1};returnTask.CompletedTask;});options.AddOperationTransformer((operation,context,ct){// JWT Bearer 安全配置operation.Security[newOpenApiSecurityRequirement{[newOpenApiSecurityScheme{ReferencenewOpenApiReference{TypeReferenceType.SecurityScheme,IdBearer}}][]}];returnTask.CompletedTask;});});// 仅 Development/Local 环境暴露文档 UIif(app.Environment.IsDevelopment()||app.Environment.EnvironmentNameLocal){app.MapOpenApi();app.MapScalarApiReference();// 访问路径/scalar/v1}IdentityService 额外注意SwaggerTokenRequestFilter的逻辑需评估是否迁移为IOpenApiOperationTransformer2. SP.Gateway网关服务中有些包需要单独的升级并且 API 文档的聚合方案需要重新设计。由于我们之前使用 Swashbuckle 和 SwaggerForOcelot 来实现 API 文档的聚合展示现在需要评估新的方案来替代它们以适应 .NET 10 的新特性和最佳实践。以下是检查列表.csproj移除Swashbuckle.AspNetCore 6.6.2和MMLib.SwaggerForOcelot 8.3.2添加Scalar.AspNetCoreProgram.cs移除AddSwaggerGen()AddSwaggerForOcelot()及其 UI 配置块移除app.UseSwaggerForOcelotUI(...)调用Gateway 层文档聚合方案二选一方案说明方案 A推荐各下游服务通过 Ocelot 路由暴露自身/openapi/v1.jsonGateway Scalar UI 配置多端点分服务展示方案 B评估是否有支持 OpenAPI 的 SwaggerForOcelot 替代库同步清理 Nacos 中的SwaggerConfigDataId 配置2.6 API 网关 Ocelot 升级这是一个高风险的步骤我们需要将 Ocelot 包升级到支持 .NET 10 的版本以确保 API 网关能够正常工作。Ocelot 是我们项目中用于实现 API 网关功能的核心组件升级过程中需要特别注意它与 ASP.NET Core 10 的兼容性以及可能引入的破坏性变更。以下是检查列表Ocelot 24.0.1在 NuGet 确认支持net10.0或net9.0的最新版本若最新版仅有net9.0TFM.NET 10 可向下兼容引用需验证功能正常升级后检查ocelot.json路由配置是否有破坏性变更2.7 Baidu.AI OCR 替换 为 DeepSeek OCR 或其他 OCR 方案进行这一步的目的是由于Baidu.AI OCR SDK 目前不支持 .NET10因此我们需要将其替换为 DeepSeek OCR 以确保智能账单录入功能能够在升级后继续正常工作。1. 移除 Baidu.AI首先我们要移除 Baidu.AI OCR SDK 相关的代码和配置这包括.csproj中移除Baidu.AI 4.15.16删除或重命名BaiduOCROptions.cs→DeepSeekOCROptions.cs移除OCRConsumerService中的Ocr _clientBaidu.Aip.Ocr.Ocr字段及初始化逻辑移除 Nacos/appsettings 中的BaiduOCR配置节2. 新增 DeepSeek OCR 实现新建DeepSeekOCROptionspublicclassDeepSeekOCROptions{publicstringApiKey{get;set;};publicstringEndpoint{get;set;}https://api.deepseek.com;publicstringModel{get;set;}deepseek-chat;// 需支持视觉的模型}修改OCRServiceExtensions.cspublicstaticIServiceCollectionAddOCRService(thisIServiceCollectionservices,IConfigurationconfiguration,stringsectionNameDeepSeekOCR){services.ConfigureDeepSeekOCROptions(configuration.GetSection(sectionName));services.AddScopedIOCRService,DeepSeekOCRServiceImpl();// 接口实现类无需改动returnservices;}IOCRService接口和BaiduOCRServiceImpl仅负责发 RabbitMQ 消息无需改动修改OCRConsumerService.cs构造函数注入IHttpClientFactory替换Ocr _client替换 Baidu API 调用代码块为 DeepSeek Vision API 调用// 图片字节 → base64stringbase64ImageConvert.ToBase64String(image);stringmimeTypeimage/jpeg;// 根据实际 ContentType 确定// 构造 DeepSeek Vision 请求varrequestBodynew{model_options.Model,messagesnew[]{new{roleuser,contentnewobject[]{new{typeimage_url,image_urlnew{url$data:{mimeType};base64,{base64Image}}},new{typetext,text请识别图片中的所有文字只输出文字内容不要添加任何解释。}}}}};varresponseawaithttpClient.PostAsJsonAsync(/chat/completions,requestBody,stoppingToken);response.EnsureSuccessStatusCode();varresultawaitresponse.Content.ReadFromJsonAsyncJsonElement(cancellationToken:stoppingToken);stringrecognizedTextresult.GetProperty(choices)[0].GetProperty(message).GetProperty(content).GetString()??;更新 appsettings 添加DeepSeekOCR配置节DeepSeekOCR:{ApiKey:,Endpoint:https://api.deepseek.com,Model:deepseek-chat}2.8 SP.MLService 服务中的 Microsoft.ML 升级到 .NET 10这是一个高风险的步骤我们需要将 SP.MLService 服务中使用的 Microsoft.ML 包升级到支持 .NET 10 的版本以确保机器学习相关功能能够在升级后继续正常工作。Microsoft.ML 是我们项目中用于实现机器学习功能的核心组件升级过程中需要特别注意它与 .NET 10 的兼容性以及可能引入的破坏性变更。它被MLContext、LightGbmRankingTrainer、Text Featurization Pipeline 使用核心文件是CategoryMatcher.cs。以下是检查列表确认 NuGet 上Microsoft.ML和Microsoft.ML.LightGbm是否有支持net10.0或net9.0的版本若有 → 直接升级在 DockerLinux和 Windows 两个平台测试原生库LightGBM native binaries加载若仅net9.0→ 以兼容方式引用.NET 10 向下兼容net9包升级Microsoft.ML和Microsoft.ML.LightGbm到对应最新版升级MongoDB.Driver 3.5.0到最新版FeedbackStorage 依赖运行CategoryMatcher功能验证训练 → 预测确认排名结果正确2.9 其余第三方包最后我们需要对项目中使用的其他第三方包进行升级以确保它们与 .NET 10 兼容。这些包可能不如前面提到的核心包那样关键但同样需要升级以避免潜在的兼容性问题但是这一步属于低风险操作。以下是升级列表包当前版本风险说明Serilog4.2.0 低多 TFM升最新版Serilog.AspNetCore8.0.1 低升最新版Serilog.Sinks.Grafana.Loki8.3.0 低升最新版AutoMapper14.0.0 低多 TFMQuartz3.14.0 低确认 net10 TFMQuartz.AspNetCore3.14.0 低同上RabbitMQ.Client7.1.2 低netstandard兼容StackExchange.Redis2.7.33 低netstandard兼容Refit8.0.0 中确认最新版 TFMRefit.HttpClientFactory8.0.0 中同上SixLabors.ImageSharp3.1.11 低多 TFMSixLabors.Fonts2.1.3 低多 TFMSixLabors.ImageSharp.Drawing2.0.2 低多 TFMMongoDB.Driver3.5.0 低多 TFMRestSharp112.1.0 低多 TFMMinio6.0.4 中确认最新版 net10 支持Twilio7.13.0 低多 TFMMicrosoft.Data.SqlClient5.1.3 低升最新版2.10 破坏性变更代码审查在完成上述升级步骤后我们需要进行一次全面的代码审查重点关注可能存在的破坏性变更。这包括但不限于以下几个方面EF Core 8 升级 10 Breaking Changes查阅官方文档重点关注查询行为、Owned Entity、JSON 列映射变化逐一核对各服务 DbContext 和 LINQ 查询写法ASP.NET Core Breaking Changes查阅 .NET 9 迁移文档查阅 .NET 10 迁移文档重点关注中间件管道、路由、Minimal API 变更OpenIddict 配置 API 变更对照新版 OpenIddict Changelog 检查SP.IdentityService/Program.cs和SP.Gateway/Program.cs中的AddOpenIddict()配置链SwaggerTokenRequestFilter迁移评估文件SP.IdentityService/SwaggerTokenRequestFilter.cs评估其 Token 请求逻辑是否需要迁移为IOpenApiOperationTransformer.NET 10 OpenAPI 扩展点2.11 验证升级完成后我们需要进行全面的验证确保项目在升级后能够正常运行并且性能没有明显下降。这包括dotnet build每个项目确认零错误顺序SP.Common→ 其余 8 个服务 →SP.Gatewaydotnet ef migrations list验证各有迁移的服务历史状态完整Docker Compose 启动验证所有服务健康检查通过访问各服务/scalar/v1确认 Scalar UI 正常加载且 JWT Bearer 认证操作可用完整 AuthN 流程Token 申请 → 刷新 → JwtBearer 验证OCR 端对端测试上传图片 → RabbitMQ 触发 → DeepSeek 识别 → DB 写入 → 查询识别结果SP.MLService 分类预测模型加载/训练 → 预测接口返回正确结果服务间 Refit HTTP 调用链联调测试2.12 风险汇总在这里我们总结一下升级过程中可能遇到的风险点在升级的过程中要格外注意风险等级包 / 领域说明 高已决策Swashbuckle MMLib.SwaggerForOcelot迁移到 OpenAPI Scalar需修改所有服务 Program.cs 高已决策Baidu.AI替换为 DeepSeek Vision APIOCRConsumerService 需重写 高随主线Microsoft.ML / LightGbm原生库 .NET 10 兼容性需验证LightGBM native binaries 需测试 中OpenIddict版本升级后配置 API 可能有变化 中Ocelot需确认 net10 或 net9 版本可用 中Pomelo EFCore MySQLEF Core 10 对应版本需确认 NuGet 可用 中Refit需确认最新版 TFM 支持 低Microsoft.* 官方包版本号随 .NET 升级低风险 低Serilog / AutoMapper / Quartz 等多 TFM 库向下兼容三、总结本篇文章我们详细介绍了将项目从 .NET 8 升级到 .NET 10 的准备工作和升级步骤。升级过程中我们需要对项目的依赖关系进行全面梳理制定详细的升级计划并且按照步骤逐一完成基础框架升级、核心包升级、API 文档迁移、API 网关升级以及 OCR 方案替换等关键操作。在升级过程中我们还需要特别注意可能存在的破坏性变更并且在升级完成后进行全面的验证确保项目能够正常运行并且性能没有明显下降。通过这次升级我们不仅能够享受到 .NET 10 带来的性能优化和新特性还能够为后续的 AI 智能化改造打下坚实的基础。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2418665.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringBoot-17-MyBatis动态SQL标签之常用标签

文章目录 1 代码1.1 实体User.java1.2 接口UserMapper.java1.3 映射UserMapper.xml1.3.1 标签if1.3.2 标签if和where1.3.3 标签choose和when和otherwise1.4 UserController.java2 常用动态SQL标签2.1 标签set2.1.1 UserMapper.java2.1.2 UserMapper.xml2.1.3 UserController.ja…

wordpress后台更新后 前端没变化的解决方法

使用siteground主机的wordpress网站,会出现更新了网站内容和修改了php模板文件、js文件、css文件、图片文件后,网站没有变化的情况。 不熟悉siteground主机的新手,遇到这个问题,就很抓狂,明明是哪都没操作错误&#x…

网络编程(Modbus进阶)

思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…

UE5 学习系列(二)用户操作界面及介绍

这篇博客是 UE5 学习系列博客的第二篇,在第一篇的基础上展开这篇内容。博客参考的 B 站视频资料和第一篇的链接如下: 【Note】:如果你已经完成安装等操作,可以只执行第一篇博客中 2. 新建一个空白游戏项目 章节操作,重…

IDEA运行Tomcat出现乱码问题解决汇总

最近正值期末周,有很多同学在写期末Java web作业时,运行tomcat出现乱码问题,经过多次解决与研究,我做了如下整理: 原因: IDEA本身编码与tomcat的编码与Windows编码不同导致,Windows 系统控制台…

利用最小二乘法找圆心和半径

#include <iostream> #include <vector> #include <cmath> #include <Eigen/Dense> // 需安装Eigen库用于矩阵运算 // 定义点结构 struct Point { double x, y; Point(double x_, double y_) : x(x_), y(y_) {} }; // 最小二乘法求圆心和半径 …

使用docker在3台服务器上搭建基于redis 6.x的一主两从三台均是哨兵模式

一、环境及版本说明 如果服务器已经安装了docker,则忽略此步骤,如果没有安装,则可以按照一下方式安装: 1. 在线安装(有互联网环境): 请看我这篇文章 传送阵>> 点我查看 2. 离线安装(内网环境):请看我这篇文章 传送阵>> 点我查看 说明&#xff1a;假设每台服务器已…

XML Group端口详解

在XML数据映射过程中&#xff0c;经常需要对数据进行分组聚合操作。例如&#xff0c;当处理包含多个物料明细的XML文件时&#xff0c;可能需要将相同物料号的明细归为一组&#xff0c;或对相同物料号的数量进行求和计算。传统实现方式通常需要编写脚本代码&#xff0c;增加了开…

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造&#xff0c;完美适配AGV和无人叉车。同时&#xff0c;集成以太网与语音合成技术&#xff0c;为各类高级系统&#xff08;如MES、调度系统、库位管理、立库等&#xff09;提供高效便捷的语音交互体验。 L…

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…

【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型

摘要 拍照搜题系统采用“三层管道&#xff08;多模态 OCR → 语义检索 → 答案渲染&#xff09;、两级检索&#xff08;倒排 BM25 向量 HNSW&#xff09;并以大语言模型兜底”的整体框架&#xff1a; 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后&#xff0c;分别用…

【Axure高保真原型】引导弹窗

今天和大家中分享引导弹窗的原型模板&#xff0c;载入页面后&#xff0c;会显示引导弹窗&#xff0c;适用于引导用户使用页面&#xff0c;点击完成后&#xff0c;会显示下一个引导弹窗&#xff0c;直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…

龙虎榜——20250610

上证指数放量收阴线&#xff0c;个股多数下跌&#xff0c;盘中受消息影响大幅波动。 深证指数放量收阴线形成顶分型&#xff0c;指数短线有调整的需求&#xff0c;大概需要一两天。 2025年6月10日龙虎榜行业方向分析 1. 金融科技 代表标的&#xff1a;御银股份、雄帝科技 驱动…

观成科技:隐蔽隧道工具Ligolo-ng加密流量分析

1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具&#xff0c;该工具基于TUN接口实现其功能&#xff0c;利用反向TCP/TLS连接建立一条隐蔽的通信信道&#xff0c;支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式&#xff0c;适应复杂网…

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …

华为云AI开发平台ModelArts

华为云ModelArts&#xff1a;重塑AI开发流程的“智能引擎”与“创新加速器”&#xff01; 在人工智能浪潮席卷全球的2025年&#xff0c;企业拥抱AI的意愿空前高涨&#xff0c;但技术门槛高、流程复杂、资源投入巨大的现实&#xff0c;却让许多创新构想止步于实验室。数据科学家…

深度学习在微纳光子学中的应用

深度学习在微纳光子学中的主要应用方向 深度学习与微纳光子学的结合主要集中在以下几个方向&#xff1a; 逆向设计 通过神经网络快速预测微纳结构的光学响应&#xff0c;替代传统耗时的数值模拟方法。例如设计超表面、光子晶体等结构。 特征提取与优化 从复杂的光学数据中自…