Visual Studio 2022安装MAUI Android工作负载报错NU1012、NU3004问题问询
问题成因
- 你使用的Visual Studio 2022 Preview 4.1属于早期预览版本,配套的MAUI相关工作负载来自你添加的xamarin-impl预发布测试源,该源内的预览版工作负载清单包未做正式数字签名,而本地Nuget默认开启了包签名验证规则,拉取未签名包时就会触发NU3004签名验证失败报错。
- 最初遇到的NU1012错误,本质是对应的.NET MAUI多目标框架工作负载未完整安装,系统无法找到net6.0-maccatalyst、net6.0-ios、net6.0-android对应平台的SDK绑定组件。
解决步骤
- 第一步:临时关闭Nuget包签名验证
找到本地Nuget全局配置文件:Windows系统路径为%appdata%\NuGet\NuGet.config,macOS/Linux系统路径为~/.nuget/NuGet/NuGet.Config,在<configuration>根节点下添加如下配置段:
该配置会让Nuget暂时接受未签名的预发布包,解决NU3004报错。<config> <add key="signatureValidationMode" value="accept" /> </config> - 第二步:完整安装MAUI全平台工作负载
不要单独安装Android工作负载,直接执行全量安装命令:dotnet workload install maui
等待所有依赖包和工作负载安装完成后,重启Visual Studio。 - 第三步:验证安装结果
执行命令dotnet workload list,确认输出中包含maui、maui-android、maui-ios、maui-maccatalyst等工作负载且状态为已安装,再重新打开CometApp项目即可解决NU1012报错。 - 可选第四步:恢复签名验证
若你有包安全校验需求,所有工作负载安装完成后,可删除之前添加的signatureValidationMode配置,恢复Nuget默认的签名验证规则即可。
内容的提问来源于stack exchange,提问作者Bjørn Hellesylt
相关产品推荐
相关产品推荐

