34

我正在尝试恢复丢失的 nuget 包,但它一直给我这个错误:

An error occurred while trying to restore packages. Please try again.

有解决这个问题的经验吗?如何找出导致错误的确切原因?

4

13 回答 13

20
  1. 确保升级到最新的 NuGet ( http://docs.nuget.org/docs/start-here/installing-nuget )。
  2. 确保您正在执行包还原“正确的方式” http://blog.davidebbo.com/2014/01/the-right-way-to-restore-nuget-packages.html

那应该可以解决问题。

于 2014-03-04T19:01:02.740 回答
20

这就是我解决问题的方法:

首先,我清除我的包缓存:

在此处输入图像描述

其次,我确保我有正确的路径源并单击可用的包源:

在此处输入图像描述

于 2017-02-09T04:16:50.010 回答
10

如果您不想要该包,只需双击您的 packages.config,找到引用您要删除的包的行,然后删除该行。

然后,如果您确实想要该软件包,您可能只需使用 nuget 重新下载它,它可能会自行解决。

于 2014-08-12T18:13:55.603 回答
10

Microsoft.Bcl.Build.1.0.14NuGet 包也有类似的问题。我对此的解决方案是

  1. 关闭 Visual Studio
  2. 使用资源管理器删除包文件夹(或者最好只将其移动到另一个位置)
  3. 启动 Visual Studio
  4. 转到 NuGet 包管理器,然后单击还原
于 2016-11-23T12:18:46.110 回答
4

我通过下载最新版本的 NuGet(非常容易安装,快速下载)解决了同样的问题:http: //docs.nuget.org/docs/start-here/installing-nuget

于 2015-01-09T15:17:19.850 回答
2

(这里绝对是初学者的答案,但我会留下它,因为我在其他任何地方都没有找到它。)确保没有从你的包源中取消选中 nuget.org。

工具。选项。Nuget 包管理器。包源。确保选中“nuget.org”。

于 2017-01-25T23:13:40.020 回答
1

我的问题

就我而言,我们开发了自己的 NuGet 包。由于某些无法描述的原因,当我打开解决方案时,当我打开解决方案时,该解决方案具有以前版本的 NuGet 包,该版本已从源中删除,或者由于任何原因而被删除或无法访问。这使其无法构建包含特定 NuGet 包的项目。我尝试安装/重新安装/升级 NuGet 包,但没有遇到以下错误(见下图),我也尝试了所有可能的答案,并确保包在那里,但没有运气。

尝试还原软件包时出错:无法找到版本 xxx..etc。

在此处输入图像描述

我的情况的解决方案

  • 关闭你的解决方案,找到解决方案的路径

  • 使用记事本编辑器打开所有项目 .csproj 文件,其中包含有问题的包并删除错误消息中显示的所有引用,如下所示并保存:

    <Reference Include="Xxx, Version=30.0.0.16927, Culture=neutral, processorArchitecture=MSIL">
        <HintPath>..\packages\Xxx.35.1.122605\lib\net461\Xxx.dll</HintPath>
    </Reference>
    
  • 在 .csproj 所在的每个文件夹中,找到packages.config文件,使用记事本编辑器打开它并删除错误消息中显示的所有包,如下所示并保存:

    <package id="Xxx" version="35.1.122605" targetFramework="net461" />
    
  • 启动您的解决方案,错误现在应该消失了,但是您无法构建,因为我们已经删除了引用和包。所以现在你应该可以重新安装丢失的包了。完成构建后,一切都应该工作。享受 :)

于 2020-08-16T10:42:26.160 回答
1

我通过将项目文件夹移动到另一个字符较少的文件夹来解决这个问题(本地路径太长)我希望它可以帮助一些人

于 2021-09-28T18:49:19.740 回答
1

我有类似的问题,我发现这是由于我的 nuget 缓存。

清除缓存的命令dotnet nuget locals all --clear

清除缓存后尝试恢复。

于 2021-03-23T05:48:47.993 回答
0

对我来说,我克隆了一个解决方案(vs2015/NuGet3.4),该解决方案对已被取代的预发布包具有 nuget 依赖性。Nuget 无法恢复预发布版本,并且不允许我卸载或升级它。我通过手动编辑 packages.config 来解决它,以针对较旧的非预发布包,然后我可以将其升级到我想要的版本。高温高压

于 2017-03-10T11:16:56.627 回答
0

对我来说,上面提到的那些东西都不起作用。我通过删除解决方案的每个项目中的packages.config解决了这个问题,然后重新安装了所有 Nuget 包

于 2021-10-05T20:38:04.667 回答
0

以防万一它对其他人有帮助,我在一个 .NET Standard 项目中遇到了这个问题,我错误地定义了目标框架:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFramework>netstandard1.3;netstandard2.0;net45</TargetFramework>
    </PropertyGroup>
    ...

当它应该是复数TargetFrameworks(不是 TargetFramework)时:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <TargetFrameworks>netstandard1.3;netstandard2.0;net45</TargetFrameworks>
    </PropertyGroup>
    ...

于 2019-02-08T12:08:49.747 回答
-2

转到选项下的工具选择 NuGet 包管理器

  1. 一般,选择一切
  2. 包源,选择所有需要的源

点击确定。完成了,你一定很高兴。

于 2019-07-30T11:09:46.363 回答