为什么NuGet会查看全局缓存,但是hintpath指向.. \ packages

时间:2018-02-07 06:42:32

标签: c# .net nuget

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

NuGet说所有软件包都可用,因为我在C:\ Users \\ AppData \ NuGet Packages \ packages

下的全局缓存中有软件包。

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

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

我正在使用Visual Studio 2017 15.5.5,NuGet Package Manager 4.5.0

错误消息:

  

此项目引用了缺少的NuGet包   电脑。使用NuGet Package Restore下载它们。更多   信息,请参阅http://go.microsoft.com/fwlink/?LinkID=322105。该   遗失的文件是   .. \包\ Microsoft.Net.Compilers.1.3.2 \建立\ Microsoft.Net.Compilers.props。

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

1 个答案:

答案 0 :(得分:0)

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

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

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