由于某种原因,我的 NuGet 包被添加到基于%APPDATA%\Roaming\packages文件夹的 .csproj 文件中,这导致我的项目无法通过构建服务器构建。我已经检查了配置%APPDATA%\Roaming\.nuge\NuGet.config,有repositoryPath设置为..\packages。我检查了%programfiles(x86)\Nuget\Config文件夹,没有与globalPackagesFolder. 有人可以告诉我为什么我的包在%APPDATA%\Roaming\packages文件夹中恢复,我该如何解决这个问题?
1 回答
尽管配置,NuGet 为什么使用 %APPDATA%\Roaming\packages 作为存储库文件夹?
问题出在全局%APPDATA%\Roaming\.nuget\NuGet.config文件中。在默认nuget.config文件中,您不应设置repositoryPath路径。它将使用默认的repositoryPath 路径( solution folder\packages\)。
如果您在nuget.config文件中添加新的 repositoryPath 路径(..\packages),它将根据相对路径设置启用新的参考包路径..\packages。
因此出现了行为,并且您的项目引用了 path %APPDATA%\Roaming\packages。
解决方案
如果你想让它恢复使用默认路径,你可以试试:
1)关闭VS,进入%APPDATA%\Roaming\.nuget\NuGet.config文件,删除:
<add key="repositoryPath" value="..\packages" />
如果您添加了一个名为globalPackagesFolder但不想使用它的密钥,您也可以删除该节点。
当你删除它时,你可以使用默认的repositoryPath.
2)然后在另一个新项目中对其进行测试,我相信这会消失。
此外,如果您删除它%APPDATA%\Roaming\.nuget\NuGet.config并且不起作用,您应该检查nuget.config您的解决方案文件夹或任何父目录中是否有自定义,如果有,您应该检查文件并删除其中的此类节点。请参阅NuGet.Config 文件位置。