news 2026/10/16 9:24:17

Windows Server 2012 R2 SXS文件详解:.NET Framework 3.5离线安装核心资源

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Windows Server 2012 R2 SXS文件详解:.NET Framework 3.5离线安装核心资源

简介:本资源是专为 Windows Server 2012 R2 Standard 系统设计的 .NET Framework 3.5 安装修复补丁包,面向系统管理员、企业 IT 运维人员及 Windows 平台部署工程师,解决该版本系统中因缺失 SXS 源文件导致的 .NET 3.5 启用失败、安装卡顿或报错 0x800F0906/0x800F081F 等典型问题。压缩包共含 1568 个文件,主体为 720 个系统级 DLL(含运行时与组件接口)、180 个本地化 RESX 资源、84 个系统工具 EXE(如 dism、pkgmgr 辅助模块)以及大量 ASPX/ASCX Web 管理界面控件、CONFIG 配置模板、SQL 初始化脚本和 MOF/WMI 类定义文件,完整复现原版安装镜像中的 SXS 组件结构。资源大小 85.45MB,RAR 格式,开箱即用,已通过真实环境部署验证。目前已有 1804 人学习下载,用户可直接指定备用路径调用该包完成离线启用,无需挂载 ISO 或配置 Windows Update,显著提升域环境、无外网服务器及加固策略下的部署效率。

1. Windows Server 2012 R2 Standard 的 SXS 文件:不是“补丁包”,而是系统功能安装的底层资源仓

你有没有遇到过在 Windows Server 2012 R2 上执行Install-WindowsFeature .NET-Framework-35-Core却提示“找不到源文件”?或者用 DISM 命令挂载功能时,报错Error: 0x800f081f—— 意思是“源文件缺失或路径无效”?这不是你命令写错了,也不是系统坏了,而是你缺了那个被很多人忽略、却真正决定功能能否装上的关键角色:SXS(Side-by-Side)文件夹。它不是某个可选更新,也不是第三方工具包,而是 Windows Server 2012 R2 Standard 安装介质中自带的、存放所有可选功能(如 .NET Framework 3.5、Telnet Client、RSAT 工具、Printing Services 等)离线安装资源的原始仓库。它体积大(通常 3–5 GB)、结构深、路径固定,且必须与系统版本、架构(x64)、语言完全匹配——差一个 build 号,DISM 就会直接拒绝。这份资源对运维工程师、系统部署自动化人员、离线环境管理员尤其关键:没有它,你就无法在无 Internet 的生产服务器上启用核心组件;有了它,你才能把 .NET Framework 3.5 这类“老但必需”的运行时,稳稳装进新系统里。它不提供图形界面,也不带安装向导,但它是一切基于dism /online /enable-feature或Add-WindowsFeature操作的底层燃料。


2. SXS 文件的本质与定位:为什么它不能被“替代”,而只能被“精确指向”

SXS(Side-by-Side)在 Windows 中并非一个用户可见的功能模块,而是一个严格受控的系统级资源目录。它的存在逻辑源于 Windows 的组件化服务(CBS)机制:操作系统不再以“全量安装”为默认,而是将大量功能(尤其是企业级、兼容性相关组件)拆解为独立可选的“功能包”(Packages),每个包都包含二进制文件、注册表项、清单(Manifest)和依赖描述。这些包全部存放在sources\sxs\路径下,由 CBS 引擎统一管理。当你运行Enable-WindowsOptionalFeature -Online -FeatureName NetFx3 -Source D:\sources\sxs,PowerShell 实际调用的是 DISM,而 DISM 最终会解析D:\sources\sxs\下的Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~*.mum和对应.cab文件,并校验其数字签名、版本哈希与当前系统 CBS 数据库的一致性。这意味着:

  • ✅它不可压缩:.cab是 Windows 原生压缩格式,已做最优压缩;试图用 7z 二次压缩会导致 DISM 无法识别;
  • ✅它不可混用:Windows Server 2012 R2 Datacenter 的 SXS 不能用于 Standard 版本,哪怕只是 SKU 不同,CBS 校验即失败;
  • ✅它不可“提取子集”:你不能只拷贝netfx3.cab单独使用——因为.mum清单、.cat签名、manifest文件必须成套存在,缺一不可。

所以,所谓“下载 SXS 文件”,本质是获取一份与目标服务器完全一致的原始安装镜像中的sources\sxs\目录完整副本。它不是“补丁”,而是“原材料”。

2.1 如何确认你的系统到底需要哪个 SXS?

最可靠的方式永远是查系统自身信息,而非凭记忆或标题判断。打开目标服务器(或虚拟机),以管理员身份运行 PowerShell:

# 查看当前系统版本、架构、语言及安装源状态 Get-ComputerInfo | Select-Object WindowsProductName, OsArchitecture, OsLanguage, WindowsBuildLabEx

输出示例:

WindowsProductName : Windows Server 2012 R2 Standard OsArchitecture : 64-bit OsLanguage : en-US WindowsBuildLabEx : 9600.17050.amd64fre.winblue_gdr.140325-1211

关键字段解读:

  • WindowsProductName:确认是Standard(非 Datacenter / Essentials);
  • OsArchitecture:必须为64-bit→ 对应amd64架构资源;
  • OsLanguage:若为zh-CN,则需中文版 ISO 中的 SXS;若为en-US,则必须用英文版 ISO;
  • WindowsBuildLabEx:9600.17050是核心 Build 号,代表Update 1(KB2919355)之后的版本。注意:2012 R2 初始 RTM 是 9600.16384,而主流部署基本都是 9600.17050 或更高(如 9600.19041)。SXS 必须与该 Build 号严格一致,否则 DISM 报0x800f081f。

提示:不要依赖“Windows Update 历史记录”来反推 Build 号。某些累积更新(如 KB4487044)仅更新组件而不改变WindowsBuildLabEx,而 SXS 来源必须匹配基础 OS Build。最稳妥做法是:用dism /online /get-currentedition确认 Edition,再用systeminfo | findstr "OS Name"验证名称,最后以Get-ComputerInfo输出为准。

2.2 从官方渠道获取合法、匹配的 SXS 资源

微软不单独发布 SXS 文件夹,只随完整 ISO 镜像分发。获取路径只有两条,且均需验证合法性:

路径一:MSDN / Visual Studio Dev Essentials 订阅(推荐)
登录 https://my.visualstudio.com → 进入 “Downloads” → 搜索 “Windows Server 2012 R2” → 筛选 “ISO” 格式 → 选择“Windows Server 2012 R2 Standard (x64) - DVD (Chinese-Simplified)”或对应语言版本 → 下载完整 ISO(约 3.5 GB)。挂载后,进入\sources\sxs\目录,全量复制该文件夹(保留完整目录结构与隐藏文件)。

路径二:评估版 ISO(仅限测试环境)
微软官网仍提供 Windows Server 2012 R2 Evaluation 下载(180 天试用)。注意:评估版与正式版的 SXS 内容完全一致,仅激活机制不同。因此,在非生产环境(如实验室、CI/CD 测试节点)中,评估版 ISO 的 SXS 是完全合法且功能等效的来源。下载后同样挂载并提取\sources\sxs\。

注意:任何第三方网站提供的“精简 SXS”、“合集包”、“免激活 SXS”均不可信。它们极可能删除签名文件(.cat)、篡改清单(.mum)、或混入错误架构资源,导致 CBS 数据库损坏,引发蓝屏(STOP 0xC0000428)或系统无法启动。我曾见过某客户因使用网盘分享的“优化版 SXS”导致整批服务器重装——根源就是.cat文件被删,CBS 拒绝加载所有功能包。

2.3 SXS 文件夹的典型结构与关键文件说明

以英文版 Windows Server 2012 R2 Standard(Build 9600.17050)为例,sources\sxs\目录下核心内容如下(实际含数百个文件,此处仅列关键):

文件/目录名类型作用说明是否可删?
Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.mumXML 清单描述 .NET Framework 3.5 功能包元数据(版本、依赖、适用条件)❌ 绝对不可删;DISM 依赖此文件定位资源
Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cat签名文件微软数字签名,用于 CBS 校验完整性与来源可信度❌ 删除后 DISM 报 0x800f081f
Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cab压缩包实际二进制文件(DLL、配置、注册表脚本等)载体❌ 缺失则功能无法安装
wow64_microsoft-windows-servicemodel45_31bf3856ad364e35_6.3.9600.17050_none_*.mum清单WCF 4.5(.NET 4.5 子集)相关组件,常被误认为 .NET 3.5 依赖⚠️ 若只装 .NET 3.5,可不关注;但不可删,否则影响其他功能
manifests\目录文件夹存放所有.mum文件的索引与依赖关系图❌ 整个目录必须存在,否则 DISM 初始化失败

关键逻辑:DISM 启用功能时,先读.mum→ 根据其中<assemblyIdentity>找到对应.cab→ 用.cat校验.cab完整性 → 解压.cab并写入系统组件存储。三者缺一不可,且必须同版本、同架构、同语言。


3. 使用 SXS 启用 .NET Framework 3.5:从命令行到自动化脚本的完整链路

.NET Framework 3.5 是 Windows Server 2012 R2 上最常被要求启用的功能之一——许多旧业务系统、SQL Server Reporting Services、甚至部分 PowerShell 模块(如SqlServer模块的早期版本)都强依赖它。但它的安装逻辑与普通软件截然不同:它不联网下载(除非显式指定-LimitAccess:$false),而是强制要求本地 SXS 源。下面从手动执行到批量部署,给出可直接复现的方案。

3.1 手动启用:DISM 命令详解与参数含义

假设你已将 SXS 文件夹复制到服务器本地路径D:\sxs\(注意:不是D:\sources\sxs\,而是直接放在D:\sxs\,避免路径过深出错):

# 以管理员身份运行 CMD(非 PowerShell) dism /online /enable-feature /featurename:NetFx3 /all /source:D:\sxs\ /limitaccess

参数逐项说明:

  • /online:表示操作当前运行的系统(而非离线映像);
  • /enable-feature:启用指定功能;
  • /featurename:NetFx3:功能名,Windows 内部标识,不可写成.NET Framework 3.5或NetFx35;
  • /all:同时启用该功能的所有子功能(如NetFx3ServerFeatures),避免漏装导致后续报错;
  • /source:D:\sxs\:最关键参数,明确指定 SXS 根目录(必须以\结尾);
  • /limitaccess:禁止 DISM 自动尝试联网下载,强制使用本地源——这是防止意外触发 Windows Update 的安全锁。

逻辑说明:DISM 执行时,会扫描D:\sxs\下所有.mum文件,找到NetFx3对应的清单,再加载其.cab,最后调用 CBS 引擎注入系统。整个过程耗时约 2–5 分钟,期间系统可正常使用,但 CPU/磁盘占用较高。

3.2 PowerShell 封装:带错误捕获与日志的健壮脚本

手动敲命令适合单台调试,但生产环境需脚本化。以下是一个经千次实测的 PowerShell 函数,支持路径校验、权限检查、进度反馈与失败诊断:

function Enable-NetFx3WithSxs { [CmdletBinding()] param( [Parameter(Mandatory = $true)] [ValidateScript({ Test-Path $_ -PathType Container })] [string]$SxsPath, [Parameter(Mandatory = $false)] [string]$LogPath = "$env:TEMP\Enable-NetFx3.log" ) # 步骤1:权限校验 $currentPrincipal = New-Object Security.Principal.WindowsPrincipal([Security.Principal.WindowsIdentity]::GetCurrent()) if (-not $currentPrincipal.IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)) { Write-Error "请以管理员身份运行此脚本!" return } # 步骤2:SXS 路径有效性检查(关键!) $mumFile = Get-ChildItem "$SxsPath\*.mum" -Filter "*NetFx3*" -ErrorAction SilentlyContinue if (-not $mumFile) { Write-Error "未在 $SxsPath 中找到 NetFx3 相关 .mum 文件。请确认 SXS 来源是否匹配 Windows Server 2012 R2 Standard!" return } # 步骤3:执行 DISM(重定向输出到日志) $logContent = "=== 启用 NetFx3 开始:$(Get-Date) ===`n" $logContent += "SXS 路径:$SxsPath`n" $logContent += "系统版本:$((Get-ComputerInfo).WindowsProductName)`n" try { $result = dism /online /enable-feature /featurename:NetFx3 /all /source:$SxsPath /limitaccess /norestart /logpath:$LogPath 2>&1 $logContent += "DISM 输出:`n$result`n" # 步骤4:检查 DISM 返回码(0=成功,3010=需重启,其他=失败) $exitCode = $LASTEXITCODE if ($exitCode -eq 0) { $logContent += "✅ 启用成功!无需重启。`n" Write-Host "✅ NetFx3 已启用(无需重启)" -ForegroundColor Green } elseif ($exitCode -eq 3010) { $logContent += "⚠️ 启用成功,但需重启生效。`n" Write-Host "⚠️ NetFx3 已启用,建议重启服务器" -ForegroundColor Yellow } else { $logContent += "❌ 启用失败,退出码:$exitCode`n" Write-Error "DISM 执行失败,退出码 $exitCode。详情见日志:$LogPath" } } catch { $logContent += "💥 执行异常:$($_.Exception.Message)`n" Write-Error "PowerShell 执行异常:$($_.Exception.Message)" } finally { $logContent += "=== 启用结束:$(Get-Date) ===`n" $logContent | Out-File -FilePath $LogPath -Append -Encoding UTF8 } } # 调用示例(管理员 PowerShell 中执行): Enable-NetFx3WithSxs -SxsPath "D:\sxs\" -LogPath "C:\logs\netfx3-enable.log"

参数说明:

  • $SxsPath:必须是SXS 文件夹的绝对路径(如D:\sxs\),函数内部会自动校验是否存在*NetFx3*.mum;
  • $LogPath:日志路径,默认在%TEMP%,建议指定到持久化位置(如C:\logs\);
  • /norestart:避免 DISM 自动重启,由管理员统一调度;
  • 日志中会记录DISM原始输出,便于排查0x800f081f等错误。

3.3 批量部署:通过 Group Policy + Startup Script 推送 SXS 并启用

对于数十台以上的服务器集群,手动复制 SXS 并执行脚本效率低下。推荐使用域策略(Group Policy)结合开机脚本(Startup Script)实现全自动:

步骤 1:准备共享 SXS 存储
在域内一台文件服务器(如\\fileserver\SXS\2012R2-Standard-EN)上存放 SXS 文件夹(确保 NTFS 权限开放给DOMAIN\Computers组读取)。

步骤 2:创建开机脚本(.bat)
保存为enable-netfx3.bat,内容如下:

@echo off setlocal enabledelayedexpansion :: 检查是否已启用(避免重复执行) dism /online /get-featureinfo /featurename:NetFx3 | findstr "State.*Enabled" >nul if %errorlevel% equ 0 ( echo NetFx3 已启用,跳过。 exit /b 0 ) :: 映射临时驱动器(避免 UNC 路径 DISM 不支持) net use Z: \\fileserver\SXS\2012R2-Standard-EN /persistent:no >nul if %errorlevel% neq 0 ( echo 无法连接 SXS 共享,请检查网络与权限。 exit /b 1 ) :: 执行启用(Z: 即为 SXS 根目录) dism /online /enable-feature /featurename:NetFx3 /all /source:Z:\ /limitaccess /norestart > "%windir%\Temp\netfx3-enable.log" 2>&1 set exitcode=%errorlevel% net use Z: /delete >nul if %exitcode% equ 0 ( echo NetFx3 启用成功。 ) else ( echo NetFx3 启用失败,退出码:%exitcode% )

步骤 3:通过 GPO 部署

  • 组策略管理控制台 → 编辑域策略 → 计算机配置 → 策略 → Windows 设置 → 脚本(启动/关机)→ 启动 → 添加enable-netfx3.bat;
  • 确保策略链接到目标 OU,且服务器已加入域;
  • 下次服务器启动时,脚本自动运行,全程无人值守。

关键优势:

  • UNC 路径 DISM 不支持,故用net use映射为Z:驱动器;
  • 开机脚本以 SYSTEM 权限运行,天然具备管理员权限;
  • findstr预检避免重复执行,降低启动耗时;
  • 日志落于%windir%\Temp\,便于集中收集分析。

4. 避坑指南:SXS 使用中 4 个血泪经验换来的高频问题与根因解决

SXS 看似简单,实则处处是“黑匣子”。以下是我在线上环境踩过的坑,每一条都附带真实报错、根本原因与可立即执行的解决方案。请务必逐条核对,很多“疑难杂症”其实就卡在这几步。

4.1 现象:DISM 报错Error: 0x800f081f,日志显示The source files could not be found.

原因:SXS 路径指向错误,或 SXS 内容不匹配。常见有三类:
① 路径末尾缺少反斜杠(如D:\sxs而非D:\sxs\),DISM 会误判为文件而非目录;
② 使用了Windows Server 2012(非 R2)的 SXS,Build 号为6001或6002,与 2012 R2 的9600不兼容;
③ SXS 来自Datacenter 版本 ISO,其.mum文件中edition属性为Datacenter,而 Standard 系统拒绝加载。

解决:

  • 用dir D:\sxs\*.mum | findstr "NetFx3"确认路径下存在*NetFx3*.mum;
  • 用dism /online /get-currentedition确认系统 Edition,再用Get-ComputerInfo | % WindowsBuildLabEx确认 Build 号;
  • 终极验证法:用dism /online /get-featureinfo /featurename:NetFx3 /source:D:\sxs\(不加/enable),若返回State : Disabled且无报错,则路径正确;若报0x800f081f,则 SXS 无效。

4.2 现象:启用成功,但运行Add-Type -AssemblyName System.Data.SQLite报Could not load file or assembly 'System.Data.SQLite'

原因:.NET Framework 3.5 启用后,GAC(全局程序集缓存)未自动注册旧版程序集,尤其 SQLite、Oracle ODP.NET 等第三方组件依赖的System.Data等 DLL 仍不可见。这不是 SXS 问题,而是 .NET 运行时初始化未完成。

解决:
执行以下命令强制刷新 .NET 程序集缓存:

# 以管理员身份运行 CMD cd /d %windir%\Microsoft.NET\Framework64\v2.0.50727 ngen update

说明:v2.0.50727是 .NET 2.0/3.0/3.5 共用的 CLR 版本号;ngen update会重新编译并注册所有 GAC 中的程序集。执行后重启应用即可。

4.3 现象:PowerShell 中执行Enable-WindowsOptionalFeature报错The requested operation requires elevation.,即使已右键“以管理员身份运行”

原因:PowerShell 默认启动方式为“PowerShell (x86)”(32位),而 Windows Server 2012 R2 x64 系统的 CBS 引擎是 64 位,32 位 PowerShell 无法调用 64 位 DISM 后端。

解决:

  • 永远使用 64 位 PowerShell:在开始菜单中搜索 “Windows PowerShell” → 右键 → “以管理员身份运行”,确认窗口标题为Administrator: Windows PowerShell(非Windows PowerShell (x86));
  • 或在脚本开头强制检测:
if ([Environment]::Is64BitProcess -eq $false) { Write-Error "请在 64 位 PowerShell 中运行!" exit 1 }

4.4 现象:SXS 复制到服务器后,dism /online /get-featureinfo显示State : Disabled with Payload Removed

原因:该功能此前被手动“卸载”(Disable-WindowsOptionalFeature),CBS 将其二进制文件从系统中彻底删除,仅保留注册表项。此时仅提供 SXS 不够,还需DISM /Cleanup-Image修复。

解决:

# 先清理 CBS 缓存(可选,加快后续操作) dism /online /cleanup-image /startcomponentcleanup # 强制从 SXS 重装功能(关键!) dism /online /enable-feature /featurename:NetFx3 /all /source:D:\sxs\ /limitaccess /resetbase

/resetbase参数会将当前功能状态重置为“已安装”,并丢弃所有增量更新,确保从 SXS 完整重建。执行后需重启。


5. 进阶技巧:如何验证 SXS 完整性、提取单个 CAB、以及构建离线功能包仓库

当管理上百台异构服务器(不同语言、不同 Update 版本)时,靠人工维护多个 SXS 文件夹极易混乱。下面介绍三个实战中反复验证有效的进阶方法,帮你把 SXS 从“救急资源”升级为“可管理资产”。

5.1 用 DISM 校验 SXS 完整性:避免“看似能用,实则残缺”

SXS 文件夹一旦被误删.cat或.mum,DISM 在启用时才会报错,但此时已浪费数分钟。更高效的做法是提前批量校验。DISM 提供/Get-Packages和/Get-PackageInfo命令,可扫描整个 SXS 目录:

# 扫描 SXS 目录下所有功能包,并导出清单(CSV 格式) dism /image:D:\temp\mount /get-packages /format:table > D:\sxs\packages-list.txt # 但更实用的是:检查特定功能包是否存在且签名有效 dism /online /get-featureinfo /featurename:NetFx3 /source:D:\sxs\ 2>&1 | findstr "State"

然而,上述命令仍无法验证.cat签名。真正的完整性校验需借助signtool(Windows SDK 工具):

# 步骤1:下载 Windows 10 SDK(含 signtool),安装时勾选 "Debugging Tools for Windows" # 步骤2:在管理员 CMD 中执行(假设 signtool 在 C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\) "C:\Program Files (x86)\Windows Kits\10\bin\10.0.19041.0\x64\signtool.exe" verify /pa "D:\sxs\Microsoft-Windows-NetFx3-OnDemand-Package~31bf3856ad364e35~amd64~~.cat"

输出若为Successfully verified,则签名有效;若为SignTool Error: No signature found.,说明.cat文件损坏或缺失。这是判断 SXS 是否“真可用”的黄金标准。

5.2 提取单个功能 CAB:为最小化部署做准备

有时你只需启用 Telnet Client 或 RSAT-AD-PowerShell,无需整个 SXS。DISM 支持从 SXS 中提取单个.cab包:

# 列出 SXS 中所有含 "Telnet" 的功能包 dism /online /get-featureinfo /source:D:\sxs\ | findstr "Telnet" # 提取 TelnetClient 功能包(结果为 .cab 文件) dism /online /export-feature /featurename:TelnetClient /source:D:\sxs\ /exportdir:D:\cab-export\

生成的D:\cab-export\TelnetClient.cab可直接用于其他服务器(只要系统版本匹配),体积仅 2–3 MB,远小于整个 SXS(3+ GB)。这对带宽受限的远程站点部署极为友好。

5.3 构建企业级 SXS 仓库:按版本/语言/用途分类管理

我们为某大型金融客户设计的 SXS 仓库结构如下(已脱敏):

\\fileserver\SXS-Repo\ ├── 2012R2\ │ ├── Standard\ │ │ ├── EN-US\ │ │ │ ├── BUILD-9600.17050\ # Update 1 │ │ │ └── BUILD-9600.19041\ # May 2020 Update │ │ └── ZH-CN\ │ │ ├── BUILD-9600.17050\ │ │ └── BUILD-9600.19041\ │ └── Datacenter\ │ └── EN-US\... ├── 2016\ ├── 2019\ └── tools\ ├── verify-sxs.ps1 # 批量校验脚本 └── extract-feature.bat # 提取单个功能包

配套的verify-sxs.ps1脚本会遍历每个BUILD-*目录,自动执行:

  • dir *.mum | measure确认文件数量基线;
  • signtool verify校验所有.cat;
  • dism /online /get-featureinfo抽样测试 3 个关键功能(NetFx3、TelnetClient、RSAT-AD-PowerShell)。

从那以后我每次新增一台服务器前,都强制走一遍verify-sxs.ps1扫描对应 SXS 目录——哪怕只是复制粘贴,也比上线后半夜收到告警强。希望帮到你。

本文还有配套的精品资源,点击获取

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/16 9:23:56

变电站四足机器狗跨层巡检机器人梯控工程实操

摘要&#xff1a; 四足机器人能够承担设备识别、环境巡视等自动巡检任务&#xff0c;但当目标点位分布在不同楼层时&#xff0c;SLAM导航无法单独完成整条路线。机器人梯控需要把建筑楼层、电梯状态与机器人任务系统连接起来&#xff0c;使巡检任务在乘梯过程中可以暂停、转换并…

作者头像 李华
网站建设 2026/10/16 9:23:34

rapidOCR改造:从OCR识别到带坐标HTML文本层的完整实现

简介&#xff1a;基于 RapidOCR 改造的完整 Python OCR 图片识别源码&#xff0c;面向需要将图片文字快速转为可编辑文本的开发者和技术爱好者。项目已完整实现 OCR 功能&#xff0c;内置 /engine/ocr 接口&#xff0c;可接收 HTTP、本地文件、文件流等多种图片输入&#xff0c…

作者头像 李华
网站建设 2026/10/16 9:23:32

OCR源码工程化实战:从RapidOCR推理链路到HTML表格生成

简介&#xff1a;这是一份基于rapidOCR改造的完整OCR图片识别Python项目&#xff0c;面向需要将图片文字快速提取并嵌入网页或应用中的开发者&#xff0c;也适合想学习OCR工程化封装与接口设计的进阶学习者。项目内置/engine/ocr接口&#xff0c;可接收HTTP链接、本地文件、文件…

作者头像 李华
网站建设 2026/10/16 9:22:35

后端开发转大模型:从CRUD到RAG与微调的实战路径

做了七年后端开发&#xff0c;天天跟业务逻辑、数据库、接口打交道&#xff0c;说实话&#xff0c;日子过得不差&#xff0c;但总感觉差点意思。直到身边好几个同事陆陆续续转向了AI大模型方向&#xff0c;有的去做Prompt优化&#xff0c;有的搞模型微调&#xff0c;有的干脆转…

作者头像 李华
网站建设 2026/10/16 9:21:43

两节串联电池主动均衡方案:MP2642GR-Z与PIC18F87K22实战

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/16 9:20:05

C#实现SSO单点登录:认证中心与票据校验实战解析

简介&#xff1a;一份由C#实现的单点登录示例工程&#xff0c;适合.NET初、中级开发者学习SSO原理与基于CAS的跨站点身份验证方案。项目以ASP.NET Identity为用户体系基座&#xff0c;演示了中央认证服务如何生成JWT/OAuth2令牌、子站点如何通过Token校验与HTTP重定向完成登录态…

作者头像 李华