.NET MAUI 9.0.201 SDK 工作负载更新问题分析与解决方案
问题背景
在升级到 .NET SDK 9.0.201 版本后,开发人员在使用 dotnet workload update 命令更新工作负载时遇到了安装失败的问题。该问题主要影响 Android 平台的开发环境配置,错误信息显示系统无法找到特定版本的 Microsoft.Android.Sdk.Windows.Msi.x64 (35.0.50) 安装包。
错误现象
当开发人员尝试更新工作负载时,系统会输出以下错误信息:
Downloading Microsoft.Android.Sdk.Windows.Msi.x64 (35.0.50)
Workload installation failed. Rolling back installed packs...
Workload update failed: One or more errors occurred. (Version 35.0.50 of package microsoft.android.sdk.windows.msi.x64 is not found in NuGet feeds...)
类似的问题也出现在直接安装 MAUI 工作负载的场景中,即使系统提示工作负载已经安装,仍然会出现相同的错误。
问题原因
经过分析,这个问题是由于以下原因导致的:
-
NuGet 包同步延迟:新发布的 .NET SDK 9.0.201 版本需要对应版本的 Android SDK 组件(35.0.50),但这些组件尚未及时同步到公共 NuGet 源中。
-
版本依赖严格匹配:.NET 工作负载管理系统对组件版本有严格的依赖要求,当无法找到精确匹配的版本时,会直接导致安装失败。
-
回滚机制触发:由于安装失败,系统自动触发了回滚机制,导致所有已下载的包都被撤销。
解决方案
该问题已经得到解决,以下是解决方案的详细信息:
-
等待自动修复:微软团队已经将缺失的 35.0.50 版本 Android SDK 组件上传到了 NuGet 源。大约在问题报告后30分钟内完成了上传。
-
重新尝试操作:开发人员可以再次运行
dotnet workload update或dotnet workload install maui命令,系统现在应该能够正常下载和安装所需组件。 -
忽略后续警告:在成功安装后,可能会看到关于工作负载垃圾收集的警告信息,这属于无害提示,不会影响实际开发功能。
技术建议
对于遇到类似问题的开发人员,建议:
-
检查官方状态:在遇到工作负载安装问题时,可以先查看官方仓库的状态更新,确认是否是已知问题。
-
合理规划升级:对于生产环境,建议在新版本发布后观察一段时间再执行升级,避免遇到类似的同步延迟问题。
-
理解错误信息:学会解读工作负载管理系统的错误信息,能够快速判断问题是源于本地环境还是服务器端。
总结
这个案例展示了 .NET 生态系统组件间严格的版本依赖关系,以及微软团队对开发者反馈的快速响应能力。虽然短暂的同步延迟给部分开发者带来了不便,但整体解决过程体现了开源协作的优势。开发者在遇到类似问题时,可以耐心等待官方修复或寻求社区支持。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0151- DDeepSeek-V4-ProDeepSeek-V4-Pro(总参数 1.6 万亿,激活 49B)面向复杂推理和高级编程任务,在代码竞赛、数学推理、Agent 工作流等场景表现优异,性能接近国际前沿闭源模型。Python00
LongCat-Video-Avatar-1.5最新开源LongCat-Video-Avatar 1.5 版本,这是一款经过升级的开源框架,专注于音频驱动人物视频生成的极致实证优化与生产级就绪能力。该版本在 LongCat-Video 基础模型之上构建,可生成高度稳定的商用级虚拟人视频,支持音频-文本转视频(AT2V)、音频-文本-图像转视频(ATI2V)以及视频续播等原生任务,并能无缝兼容单流与多流音频输入。00
auto-devAutoDev 是一个 AI 驱动的辅助编程插件。AutoDev 支持一键生成测试、代码、提交信息等,还能够与您的需求管理系统(例如Jira、Trello、Github Issue 等)直接对接。 在IDE 中,您只需简单点击,AutoDev 会根据您的需求自动为您生成代码。Kotlin03
Intern-S2-PreviewIntern-S2-Preview,这是一款高效的350亿参数科学多模态基础模型。除了常规的参数与数据规模扩展外,Intern-S2-Preview探索了任务扩展:通过提升科学任务的难度、多样性与覆盖范围,进一步释放模型能力。Python00
skillhubopenJiuwen 生态的 Skill 托管与分发开源方案,支持自建与可选 ClawHub 兼容。Python0111