软件包需要 NuGet 客户端版本“2.12”

Package requires NuGet client version '2.12'

我正在尝试在 visual studio 2012 年安装 'WindowsAzure.Storage 8.0.1',但出现错误

package requires NuGet client version '2.12' or above, but the current NuGet version is '2.8.60318.667'.

在 运行 命令上 "Install-Package NuGet.Client"

Attempting to resolve dependency 'NuGet.Versioning (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.Packaging (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.Common (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.Packaging.Core (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.Packaging.Core.Types (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.Frameworks (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.Repositories (≥ 3.5.0)'.
Attempting to resolve dependency 'NuGet.RuntimeModel (≥ 3.5.0)'.
Attempting to resolve dependency 'Newtonsoft.Json (≥ 6.0.4)'.
Attempting to resolve dependency 'NuGet.ContentModel (≥ 3.5.0)'.
'NuGet.Client 3.5.0' already installed.

但我仍然收到错误。

The 'WindowsAzure.Storage 8.0.1' package requires NuGet client version '2.12' or above, but the current NuGet version is '2.8.60318.667'.

您正在更新错误的包。更新您的 Nuget 包管理器,错误就会消失。

Update-Package NuGet.VisualStudio

https://www.nuget.org/packages/NuGet.VisualStudio

更新您的 NuGet 包管理器扩展。转到 Tools->Extensions and Updates 和 select Updates->Visual Studio Gallery。更新 NuGet 包管理器扩展。然后在 Visual Studio 重新启动后尝试安装包。

我尝试了所有方法,但没有任何帮助。比起我将 Visual Studio 版本从 2012 年更改为 2015 年,现在一切正常。

NuGet 2.12 仅支持 Visual Studio 2013 及更高版本。如果您在 Visual Studio 2012 you're out of luck.

我解决了这个问题,我的步骤如下:

1.Do what as "Mathivanan KP" said;

2.Delete the folder ".nuget", which is below your solution folder;

3.Rebuild your solution;

4.Back to your solution folder, and press "Ctrl + Z", then rebuild your solution again.

如果问题仍然存在,我认为您应该将代码从版本管理器克隆到一个新文件夹,然后像以前一样执行步骤。

希望对您有所帮助。

我在 Visual Studio 2010 年试图将 NewtonSoft.Json nuget 包添加到我的项目中时遇到了这个问题。当我尝试从 nuget 包管理器控制台 运行 最新版本的 nuget 包时:

PM> Install-Package Newtonsoft.Json

它导致与 OP 提到的相同的错误:

package requires NuGet client version '2.12' or above, but the current NuGet version is '2.8.60318.667'.

所以我想我会先将 Visual Studio 中的 NuGet 扩展更新到最新版本。但是当我进入 Tools -> Extensions and Updates window 时,Updates 选项卡没有显示 Nuget 扩展的任何更新。所以看起来 NuGet 客户端版本 2.12 根本不是 Visual Studio 2010 中的 available/supported。我现在 运行 别无选择。

所以最后,我尝试以这种方式故意安装较低版本(6.0.3)的Newtonsoft.Json包:

PM> Install-Package Newtonsoft.Json {Your Project Name} 6.0.3

这成功了。 在撰写本文时此软件包的最新版本 post 是 10.0.3

因此,较新版本的 nuget 包可能只与最新版本的 nuget 包管理器兼容。因此,有时显式安装较低版本的软件包可能会对您有所帮助。如果旧版本的 nuget 包不是最新的,它当然会与 Visual Studio 中的旧 nuget 扩展兼容。

此解决方案中唯一需要注意的是,您所针对的较低版本的 nuget 包中存在的功能应该可以满足您当前的项目需求。祝你好运!

注意:虽然我已经详细说明了这个解决方案w.r.t。 Visual Studio 2010 但您可以针对任何 Visual Studio 版本尝试此解决方法。

我找到了这个问题的解决方案。

基本上您在解决方案级别有一个 .nuget 文件夹,该文件夹包含一个可能是旧的 nuget.exe 文件。许多软件包可能需要该文件的新版本。

  1. 打开此 link:https://www.nuget.org/downloads
  2. 下载最新版本nuget.exe
  3. 用这个新版本替换你的.nuget/nuget.exe

再试一次,我相信它会奏效。

这个修复对我有用(我使用的是 vs 2013,不确定它是否适用于其他版本),转到工具 --> 扩展和更新,然后为 visual studio 寻找 NuGet 包管理器2013,卸载它。在左侧窗格 select 在线将带您到 visual studio 画廊,在右侧窗格中搜索 visual studio 2013 的 NuGet 程序包管理器,它将为您提供要安装的正确版本。安装它,你就可以开始了,希望这能帮到你。

我遇到了同样的问题,我只是点击了 "Restore NuGet package for this solution"。就我而言,这解决了问题。希望对你有帮助。

尝试

nuget update -self

我的结果:

Checking for updates from https://www.nuget.org/api/v2/. 
Currently running NuGet.exe 2.8.7. 
Updating NuGet.exe to 5.3.1. 
Update successful.
Install-Package Newtonsoft.Json -Version 6.0.3