Visual Studio中C#项目NU1100错误:为何未考虑nuget.org?
解决NuGet NU1100错误:无法解析包且未考虑nuget.org的问题
问题原因
你遇到的NU1100错误核心原因是**Package Source Mapping(包源映射)**已启用,但目标包Esprima没有被配置为使用nuget.org或离线源。NuGet在启用包源映射后,只会使用与包匹配的指定源,未匹配的源会被直接忽略,所以才会出现“未考虑nuget.org”的提示。
解决方法
1. 配置包源映射规则
打开Visual Studio的工具 > NuGet包管理器 > 包管理器设置,进入包源映射页面:
- 针对
Esprima包:添加一条映射,将包名Esprima关联到nuget.org源 - 全局适配所有包:添加一条用
*匹配所有包的规则,映射到nuget.org,确保所有包都能从官方源获取
2. 强制项目使用nuget.org
- 单个项目配置:在项目的
.csproj文件中添加以下配置,直接指定还原源为nuget.org:
<PropertyGroup> <RestoreSources>https://api.nuget.org/v3/index.json</RestoreSources> </PropertyGroup>
- 全局配置:编辑
%appdata%\NuGet\NuGet.Config文件,确保nuget.org的优先级最高,同时调整包源映射规则,覆盖你需要的所有依赖包。
3. 清理NuGet本地缓存
本地缓存损坏也可能导致解析异常,执行以下命令清理所有缓存:
dotnet nuget locals all --clear
清理完成后重新执行包还原操作即可。
内容的提问来源于stack exchange,提问作者macman
相关产品推荐
相关产品推荐

