为啥 NuGet 正在查看全局缓存但提示路径指向 ..\packages

Posted

技术标签:

【中文标题】为啥 NuGet 正在查看全局缓存但提示路径指向 ..\\packages【英文标题】:Why is NuGet looking at global cache but hintpath points to ..\packages为什么 NuGet 正在查看全局缓存但提示路径指向 ..\packages 【发布时间】:2018-02-07 06:42:31 【问题描述】:

我的项目的 .csproj 文件的包提示路径设置为 ..\packages\etc...

NuGet 说所有包都可用,因为我在 C:\Users\\AppData\NuGet Packages\packages 下的全局缓存中有这些包

references 文件夹中的每个包都有一个黄色警告标志,因为没有 ..\packages 文件夹。

我可以从全局缓存中移动包并手动创建 ..\packages 文件夹或将提示路径指向全局缓存文件夹以使项目运行,但随后我的构建在 CI/CD 中失败。

我正在使用 Visual Studio 2017 15.5.5,NuGet 包管理器 4.5.0

错误信息:

此项目引用了此项目中缺少的 NuGet 包 计算机。使用 NuGet 包还原下载它们。更多 信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。这 丢失的文件是 ..\packages\Microsoft.Net.Compilers.1.3.2\build\Microsoft.Net.Compilers.props.

为什么 NuGet 不尝试创建 ..\packages 文件夹?

【问题讨论】:

【参考方案1】:

在我的 NuGet.config 中有一个设置:

<add key="repositoryPath" value="..\..\NuGet Packages\packages" />

不知道为什么会在那里。一旦我删除它,一切都会恢复正常,创建一个解决方案级别的包文件夹

【讨论】:

以上是关于为啥 NuGet 正在查看全局缓存但提示路径指向 ..\packages的主要内容,如果未能解决你的问题,请参考以下文章

新买的USB解码音箱插入电脑后提示正在安装驱动,但“符合HID标准的用户控制设备”显示失败为啥?

webpack jquery已经全局引入 为啥还是提示$未定义

如何更改UWP app文件夹名称或路径?

用于路径缓存的快速、无冲突哈希算法?

为啥js的箭头函数的this指向的是全局呢?

为啥包在 NuGet 上不可用?