如何解决创建.NET MAUI项目时的dotnet restore错误?
解决.NET MAUI项目NuGet还原失败(NU1101、NU1603)的方案
1. 校验SDK与模板版本兼容性
- 执行
dotnet --list-sdks查看已安装的.NET SDK版本,再用dotnet new --list确认MAUI模板版本,确保两者版本匹配(优先使用.NET 7/8稳定版)。 - 若版本不匹配,卸载旧SDK后,安装对应版本的官方.NET SDK,并通过
dotnet workload install maui补全MAUI workload。
2. 清空NuGet本地缓存
执行dotnet nuget locals all --clear清除损坏或过期的本地NuGet缓存,避免缓存导致的包查找失败。
3. 检查并修复NuGet源配置
- 用
dotnet nuget list source查看已配置的源,确保包含官方NuGet源(nuget.org)。若缺失,执行dotnet nuget add source https://api.nuget.org/v3/index.json -n nuget.org添加。 - 若配置了私有源,暂时执行
dotnet nuget disable source <源名称>禁用,测试是否因私有源权限或地址错误导致问题。
4. 修正项目文件依赖版本
- 打开项目的
.csproj文件,检查所有PackageReference的版本号,确保MAUI相关依赖版本与当前SDK版本一致。 - 可尝试删除依赖的版本号,让SDK自动管理兼容版本,例如将
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="7.0.0" />改为<PackageReference Include="Microsoft.Extensions.Logging.Debug" />。
5. 重建MAUI全局模板
- 先卸载旧模板:
dotnet new uninstall Microsoft.Maui.Templates - 再安装最新稳定版模板:
dotnet new install Microsoft.Maui.Templates
6. 处理NU1603依赖冲突警告
- 查看警告详情定位冲突的间接依赖包,手动在
.csproj中指定兼容的版本号;若暂时无法解决,可添加<NoWarn>NU1603</NoWarn>到项目文件的PropertyGroup中忽略警告(仅临时方案,优先解决冲突)。
7. 极端情况:重置.NET环境
若以上方案均无效,卸载所有.NET SDK,删除C:\Program Files\dotnet目录及用户目录下的.nuget文件夹,重新安装最新稳定版.NET SDK和MAUI workload。
内容的提问来源于stack exchange,提问作者Ben Underwood
相关产品推荐
相关产品推荐

