软件包需要 NuGet 客户端版本 '2.12'。

41

我正试图在Visual Studio 2012中安装'WindowsAzure.Storage 8.0.1',但是出现错误

该程序包要求NuGet客户端版本为“2.12”或更高版本,但当前的NuGet版本为“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.

但我仍然收到错误信息。

'WindowsAzure.Storage 8.0.1' 软件包要求 NuGet 客户端版本 '2.12' 或更高版本,但当前 NuGet 版本为 '2.8.60318.667'。


相关帖子请点击此处 - RBT
11个回答

73

更新NuGet包管理器扩展。转到 工具->扩展和更新,选择更新->Visual Studio Gallery。更新NuGet包管理器扩展。然后在重新启动Visual Studio后尝试安装该软件包。


6
请注意,NuGet 更新位于“更新 -> Visual Studio Gallery”类别中。(我正在使用VS2013。) - smwikipedia
5
无法在 VS 2012 Prof 中运行:405 方法不允许。 - torno
@torno 这可能是由于您的互联网/防火墙连接问题所致。 - Mathivanan KP
正是我所需要的。谢谢! - Curtis Herrick

44

NuGet 2.12仅支持Visual Studio 2013及更高版本。如果您正在使用Visual Studio 2012,那就倒霉了


24

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

PM> Install-Package Newtonsoft.Json

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

包需要NuGet客户端版本“2.12”或更高版本,但当前的NuGet版本为“2.8.60318.667”。

所以我想先在Visual Studio中更新NuGet扩展到最新版本。但是当我进入“工具->扩展和更新”窗口时,“更新”选项卡没有显示任何Nuget扩展的更新。因此,在Visual Studio 2010中似乎根本没有可用/支持NuGet客户端版本2.12。现在我的选择已经用尽了。

因此,最后我试图有意安装特定的较低版本(6.0.3)的Newtonsoft.Json包,方式如下:

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

这个操作成功了。撰写本篇文章时,该软件包的最新版本是 10.0.3

因此,在某些情况下,较新的 NuGet 软件包版本仅与最新版本的 NuGet 软件包管理器兼容。有时显式安装较低版本的软件包可能会有所帮助。如果 NuGet 扩展未更新,则较旧版本的 NuGet 软件包当然与 Visual Studio 中的旧 NuGet 扩展兼容。

这种解决方案的唯一注意事项在于你针对的 NuGet 软件包较低版本中的功能应足以满足你当前的项目需求。祝好运!

注意:虽然本文已经详细说明了适用于 Visual Studio 2010 的解决方案,但你可以尝试将此方法应用于任何版本的 Visual Studio。


在家里,我只是随意编码 - 我只安装了VS2012 - 而且我似乎无法再更新Nuget包管理器了。这是一个很好的答案,因为它还向我展示了我仍然可以安装过时的软件包(当然是为了满足我的个人需求)。+1 - Eon
1
太好了!在那里学到了有用的东西 :) - Nicki
对我来说,它是“Install-Package Newtonsoft.Json -Version 6.0.3”。 - Ameji012
我从最新版本到最旧版本一个一个尝试,最终发现9.0.1版本适用于我。Install-Package Newtonsoft.Json -Version 9.0.1 - Nur Hidayah Roslee
我在VS2012中也遇到了同样的问题,尽管当时最新的版本是12.0.3,但可用的版本是9.0.1。 - ALIRA

17

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

基本上你在解决方案级别有一个.nuget文件夹,该文件夹包含一个可能已过时的nuget.exe文件。很多软件包可能需要这个文件的新版本。

  1. 打开此链接:https://www.nuget.org/downloads
  2. 下载最新版本的nuget.exe
  3. 使用此新版本替换.nuget/nuget.exe

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


1
哇塞,非常感谢!这正是我需要的。我一直在查找有关编辑构建脚本的复杂内容。我应该意识到只需要更新项目中的EXE文件。谢谢! - Pinski
感谢您的技巧。不幸的是,2.12版本不在那里(这是许多软件包正在使用的版本)。 - tigrou
1
我在我的解决方案中找不到任何 .nuget 文件夹,整个计算机中也没有任何 nuget.exe... - bluish

3

尝试

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.

1
这个修复方法对我有用(我使用的是vs 2013,不确定其他版本是否适用),转到工具-->扩展和更新,然后查找 Visual Studio 2013 的 NuGet 包管理器,卸载它。在左侧窗格中选择“在线”,这将带您进入 Visual Studio 库,在右侧窗格中搜索 Visual Studio 2013 的 NuGet 包管理器,它会为您提供正确的版本以安装。安装它即可,希望这可以解决某些人的问题。

1
Install-Package Newtonsoft.Json -Version 6.0.3

1
你可以升级到9.0.1。 - Rafael

0

我遇到了相同的问题,我只是点击了“还原此解决方案的NuGet包”。在我的情况下这解决了问题,希望能帮到你。


-2

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

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.

如果问题仍然存在,我认为您应该将代码从版本管理器克隆到一个新文件夹中,并按照之前的步骤进行操作。
希望对您有所帮助。

-3

一些依赖的 DLL 没有更新,可能导致问题。如果已经安装了所有内容但仍无法正常工作,请建议下载 VSIX 并重新安装。这对我很有效,但我使用的是 VS 2013。下载链接:http://nuget.codeplex.com/releases/view/118318 - NutcaseDeveloper

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接