.NET 5项目还原Nuget包报Could not find a part of the path错误如何解决
问题根因
你遇到的报错本质是Windows系统默认的260字符路径长度限制导致的,报错中的完整路径长度已经超出了系统默认限制,导致文件读写失败,多人同现该问题也符合系统配置类问题的特征。
解决方案
1. 启用Windows长路径支持(优先推荐)
- 按下
Win+R输入regedit打开注册表编辑器 - 定位到注册表路径:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\FileSystem - 找到名为
LongPathsEnabled的DWORD值,若不存在则右键新建一个该类型的项 - 双击该项,将数值数据设置为
1,基数选择十六进制 - 重启计算机使配置生效
2. 修正NuGet自定义包路径配置
你之前填写的repositoryPath配置写法错误,正确配置方式如下:
- 若仅针对当前项目生效,打开项目根目录的
nuget.config文件,在<config>节点下添加:
<add key="repositoryPath" value="..\..\packages" />
- 若要全局生效,修改路径
C:\Users\你的用户名\AppData\Roaming\NuGet\NuGet.Config下的对应配置节点 - 配置完成后关闭所有Visual Studio窗口,执行命令清除所有NuGet缓存:
dotnet nuget locals all --clear
重新打开项目执行还原即可。
3. 缩短全局NuGet包存储路径(替代方案)
如果不想修改注册表,可以自定义全局NuGet包的存储路径到层级更短的目录,在全局NuGet.Config的<config>节点下添加:
<add key="globalPackagesFolder" value="D:\Nuget\Packages" />
重启Visual Studio后重新还原项目即可。
内容的提问来源于stack exchange,提问作者Misko
相关产品推荐
相关产品推荐

