尝试还原包时发生错误。请再试一次

时间:2014-03-03 17:38:24

标签: c# nuget nuget-package nuget-package-restore

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

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

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

11 个答案:

答案 0 :(得分:18)

  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
  3. 这应解决问题。

答案 1 :(得分:8)

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

然后,如果你确实想要包,你可以用nuget重新下载它,它可能会自行解决。

答案 2 :(得分:7)

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

首先我清除我的包源:

enter image description here

然后,请确保我有正确的路径来源并单击可用的包源:

enter image description here

答案 3 :(得分:5)

我在Microsoft.Bcl.Build.1.0.14 NuGet包中遇到了类似的问题。我对此的解决方案是

  1. 关闭Visual Studio
  2. 使用资源管理器删除软件包文件夹(或者更好地将其移动到其他位置)
  3. 启动Visual Studio
  4. 转到NuGet包管理器,然后单击“还原”

答案 4 :(得分:4)

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

答案 5 :(得分:2)

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

工具。选项。 Nuget包经理。包装来源。确保选中“nuget.org”。

答案 6 :(得分:0)

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

答案 7 :(得分: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>
    ...

答案 8 :(得分:0)

转到“工具”下的“选项”,选择“ NuGet程序包管理器”

  1. 常规,选择所有内容
  2. 包装来源,选择所有必需的来源

好的。做完你一定很好。

答案 9 :(得分:0)

我所遇到的问题

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

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

enter image description here

我的案子的解决方法

  • 关闭您的解决方案并找到解决方案的路径

  • 使用记事本编辑器打开所有项目.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" />
    
  • 开始解决方案,该错误现在应该消失了,但是由于我们已经删除了引用和程序包,因此无法构建。因此,现在您应该可以重新安装丢失的软件包。完成构建后,一切都应该工作。享受:)

答案 10 :(得分:0)

我遇到了类似的问题,我发现这是由于我的 nuget 缓存造成的。

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

清除缓存后尝试恢复。