恢复nuget包时无法找到nuget本地源错误,本地源不存在

时间:2018-03-23 09:35:18

标签: visual-studio-2017 nuget

我获得了2017年视觉工作室解决方案。当我打开它时失败,如错误:

Error occurred while restoring NuGet packages: The local source '\\network-location\

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

有关我应该在哪里看的任何建议吗?

9 个答案:

答案 0 :(得分:11)

在我的情况下,出现此错误: 恢复NuGet软件包时发生错误:本地源'import Text.Parsec import Text.Parsec.Text (Parser) import Text.Numeral.Roman arabicNum :: Parser Int arabicNum = do n <- many1 digit return (read n) isChapter :: Inline -> Bool isChapter str = str == Str "CHAPTER" number :: Parser Int number = arabicNum <|> romanNum romanNum :: Parser Int romanNum = do str <- many1 char return case (fromRoman str) of Just n -> n Nothing -> Nothing '不存在。

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

答案 1 :(得分:4)

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

enter image description here

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

enter image description here

但是,包源可能是解决方案或项目特定的,因此可以在解决方案目录中的NuGet.config文件中指定。从NuGet 3.4开始,Visual Studio根据NuGet.config reference查看项目的目录或&#34;或驱动程序根目录下的任何文件夹&#34 ;.在NuGet 3.3之前,还有名称为.nuget的子目录,其中搜索了NuGet.config个文件。

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

答案 2 :(得分:4)

上面提出的解决方案对我来说都没有。老实说,我真的不喜欢微软现在正在做什么:每次安装更新时都会有另一个惊喜。 :-(

分析

Error occurred while restoring NuGet packages: The local source 'C:\Microsoft\Xamarin\NuGet' doesn't exist.

很显然,NuGet试图从C:\\Microsoft\\Xamarin\\NuGet还原与Xamarin无关的解决方案。该解决方案之前已经编译了很多次,甚至从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": {}
},

问题: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>

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

答案 3 :(得分:2)

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

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

您可以通过export { Boeing737, Boeing747 } from './airplanes'; export { FordExplorer, ToyotaCorolla, ToyotaSienna } from './cars'; export { BassBoat, Yacht } from './boats'; -> Tools-> NuGet Package Manager

删除它

答案 4 :(得分:2)

所有答案都是相关的,但是还不完整,浪费了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

2。在VS解决方案上还原NuGet软件包

Right-click  on  Visual studio solution (not project)
      > Restore NuGet Packages

3。建立并运行项目

希望有帮助。

答案 5 :(得分:2)

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

答案 6 :(得分:0)

  

但我不知道这条原始路径的配置位置以及如何将其更改为新位置。

要解决此错误,请搜索给定解决方案中的文件NuGet.config,然后使用记事本进行编辑,您将在该文件中找到以下设置:

  <packageSources>
    <add key="LocalServerName" value="\\network-location\" />
  </packageSources>

您可以将值更改为新位置。

答案 7 :(得分:0)

就我而言,解决此问题的唯一方法是清理所有NuGet缓存。 您可以在工具-> NuGet软件包管理器->常规

中找到它

Clear All NuGet Cache(s) print

答案 8 :(得分:0)

相同情况:

Error occurred while restoring NuGet packages: The local source 'C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages' doesn't exist.

我的解决方案是重新创建文件夹。