在还原nuget软件包时发现本地本地源不存在nuget本地源错误

use*_*717 10 nuget visual-studio-2017

我已经获得了Visual Studio 2017解决方案。当我打开它失败,并出现以下错误:

Error occurred while restoring NuGet packages: The local source '\\network-location\' doesn't exist.

我可以手动获取这些软件包的副本,但是我不知道该原始路径的配置位置以及如何将其更改为新位置。

关于我应该看的地方有什么建议吗?

小智 24

上面提出的解决方案都没有对我有用。而且,老实说,我真的不喜欢微软一段时间以来所做的事情:每次安装更新时都会有另一个惊喜。:-(

分析

Error occurred while restoring NuGet packages: The local source 'C:\Microsoft\Xamarin\NuGet' doesn't exist.
Run Code Online (Sandbox Code Playgroud)

显然,NuGet 正试图从C:\\Microsoft\\Xamarin\\NuGet与 Xamarin 无关的 for 解决方案中恢复。该解决方案之前编译过多次,甚至从 GIT 中取回它也没有任何改变。所以,问题不是我的解决方案。这是更全球化的东西。

顺便说一句:我不想使用这个文件夹,因为我不使用 Xamarin!

我在解决方案的*.csproj.nuget.dgspec.json任何obj文件夹中的文件中找到了以下参考。所有这些 json 文件都指向这个 Xamarin 文件夹:

"fallbackFolders": {
  "C:\\Microsoft\\Xamarin\\NuGet": {},  
  "C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
  "https://api.nuget.org/v3/index.json": {}
},
Run Code Online (Sandbox Code Playgroud)

问题:VS 如何知道fallbackFolders?

如上所述,我在任何 Visual Studio/NuGet 配置设置中都没有找到任何提示。我删除了所有obj文件夹,但每次尝试编译或恢复我的包时,引用又回来了。

我的解决方案是:

  • 删除obj解决方案中的所有文件夹(如上所述)

  • 删除 c:\Program Files (x86)\NuGet\Config\Xamarin.Offline.config

您会在那里找到以下内容:

<fallbackPackageFolders>
    <add key="Xamarin Offline Packages" value="C:\Microsoft\Xamarin\NuGet\"/>
</fallbackPackageFolders>
Run Code Online (Sandbox Code Playgroud)

这个文件是一周前在我的机器上引入的,我认为它是最新的 VS 更新(16.2)。我没有离开今天的最新更新(16.2.1)。


小智 21

可以在Visual Studio选项(Tools -> Options)下NuGet Package Manager -> Package Sources或直接单击NuGet对话框(解决方案/项目的上下文菜单->的上下文菜单)中的相应图标找到包源Manage NuGet Packages...

在此处输入图片说明

然后,应在以下对话框中列出您的本地软件包源:

在此处输入图片说明

但是,程序包源可以是解决方案或项目特定的,因此可以NuGet.config在解决方案目录中的文件中指定。根据NuGet.config参考,从NuGet 3.4开始,Visual Studio会在项目目录或“或驱动器根目录之前的任何文件夹”中查找。直到NuGet 3.3,还有在.nuget其中搜索NuGet.config文件的名称的子目录。

必须更改包含本地软件包源的文件才能还原正确的软件包。


小智 14

在我的情况下,我收到此错误:还原 NuGet 包时发生错误:本地源“ C:\Microsoft\Xamarin\NuGet”不存在。

我不小心删除了“ C:\Microsoft\Xamarin\”文件夹。在此之后 VS2019 无法恢复软件包。我只是手动创建了 ' C:\Microsoft\Xamarin\NuGet' 文件夹。重新启动 VS,清理解决方案,此后一切顺利。


Wil*_* Jr 12

您将在Visual Studio 2019中遇到相同的问题。我也有相同的问题,我认为这是Visual Studio 2017上的冲突,但不是。

解决方法是您必须删除引起问题的源。

您可以通过Tools-> NuGet Package Manager-> 将其删除Package Manager Settings

  • 具体来说,就我而言,NuGet 正在从项目本身中查找包,但找不到它们(正确,没有),但不会尝试默认的 NuGet 服务器。修复方法是取消选中本地项目作为包源。然后 NuGet 愉快地从 nuget.org 检索了包。 (7认同)

Man*_*ddy 9

所有答案都是相关的,但它们并不完整,浪费了 30 分钟。

下面工作正常:

1 . 清除缓存并删除问题文件夹:

Tools > NuGet Package Manager > Package Manager Settings
      > NuGet Package Manager > General > Clear All NuGet Cache(s)

Tools > NuGet Package Manager > Package Manager Settings
      > NuGet Package Manager > Package Sources
                   > Available package sources
                   >   {uncheck the folder that is giving error}
                   >   OK
Run Code Online (Sandbox Code Playgroud)

2 . 在 VS 解决方案上恢复 NuGet 包

Right-click  on  Visual studio solution (not project)
      > Restore NuGet Packages
Run Code Online (Sandbox Code Playgroud)

3 . 构建和运行项目

希望有帮助。


Epi*_*dex 6

我在不同的情况下遇到了这个错误。我检查Nuget.config了我的解决方案文件夹中的内容,在<packageSources>节点下它有一个指向./nuget. 这个文件夹在解决方案目录中不存在,所以我只是用这个名字创建了一个空文件夹,并且解决方案编译没有任何问题。