【问题标题】:Package requires NuGet client version '2.12'包需要 NuGet 客户端版本“2.12”
【发布时间】:2017-06-29 15:27:39
【问题描述】:

我正在尝试在 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”。

【问题讨论】:

标签: c# .net visual-studio visual-studio-2012 nuget-package


【解决方案1】:

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

【讨论】:

  • 请注意,NuGet 更新位于 Updates -> Visual Studio Gallery 类别中。 (我使用的是 VS2013。)
  • 不适用于 VS 2012 Prof: 405 Method not allowed
  • @torno 这可能是因为您的互联网/防火墙存在连接问题。
  • 正是我所需要的。谢谢!
【解决方案2】:

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

【讨论】:

    【解决方案3】:

    当我尝试将 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 扩展更新到最新版本。但是当我进入Tools -> Extensions and Updates 窗口时,Updates 选项卡没有显示 Nuget 扩展的任何更新。所以看起来 NuGet 客户端版本2.12 在 Visual Studio 2010 中根本不可用/不支持。我现在已经没有选择了。

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

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

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

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

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

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

    【讨论】:

    • 在家里,我只是随便写代码——我只有一个 VS2012 安装——而且我似乎无法再更新 Nuget 包管理器了。这是一个很好的答案,因为它还告诉我我仍然可以安装过时的软件包(当然是为了我自己的需要)。 +1
    • 太棒了!在那里学到了一些有用的东西:)
    • 对我来说是Install-Package Newtonsoft.Json -Version 6.0.3
    • 我从最新到最低版本一一试了,9.0.1对我有用Install-Package Newtonsoft.Json -Version 9.0.1
    • 我在 VS2012 中遇到了同样的问题,虽然当时的最新版本是 12.0.3,但工作版本是 9.0.1
    【解决方案4】:

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

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

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

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

    【讨论】:

    • 天啊,非常感谢!这正是我所需要的。我正在查找有关编辑构建脚本的所有这些复杂的东西。我应该意识到我只需要更新项目中的 EXE。谢谢!
    • 感谢您的技巧。不幸的是,没有 2.12 版本(这是许多软件包正在使用的版本)
    • 我的解决方案中找不到任何 .nuget 文件夹,整个计算机中也没有任何 nuget.exe...
    【解决方案5】:

    试试

    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.
    

    【讨论】:

      【解决方案6】:

      这个修复对我有用(我正在使用 vs 2013,不确定它是否适用于其余部分),转到工具 --> 扩展和更新,然后寻找 Visual Studio 2013 的 NuGet 包管理器,将其卸载。在左窗格中选择在线,它将带您到 Visual Studio 库,在右窗格中搜索 Visual Studio 2013 的 NuGet 包管理器,它将为您提供正确的版本进行安装。安装它,你就可以开始了,希望这能解决问题。

      【讨论】:

        【解决方案7】:
        Install-Package Newtonsoft.Json -Version 6.0.3
        

        【讨论】:

        • 你可以上到9.0.1
        【解决方案8】:

        我遇到了同样的问题,我只是单击了“为此解决方案还原 NuGet 包”。就我而言,这解决了问题。希望它会有所帮助。

        【讨论】:

          【解决方案9】:

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

          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.
          

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

          希望对你有帮助。

          【讨论】:

            【解决方案10】:

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

            Update-Package NuGet.VisualStudio
            

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

            【讨论】:

            • 一些相关的 Dll 未更新,这可能会导致问题。如果一切都已安装但仍无法正常工作,建议下载 VSIX 并重新安装。为我工作,但我在 VS 2013 上。下载链接:nuget.codeplex.com/releases/view/118318
            【解决方案11】:

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

            【讨论】:

            • 这不是你最初提出的问题的答案,你不应该仅仅因为它是你的就将它标记为正确
            • 我认为他以正确的方式解决了这个问题。 NuGet 2.12 需要 VS 2013 或更高版本。所以,他升级了[[他用了change这个词:)]]请参考Ceribia的回答。
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2010-10-01
            • 1970-01-01
            • 2018-09-10
            相关资源
            最近更新 更多