套餐需要NuGet客户端版本'2.12'

时间:2017-02-11 07:57:31

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

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

12 个答案:

答案 0 :(得分:54)

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

答案 1 :(得分:34)

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

答案 2 :(得分:16)

当我尝试将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中。我现在用完了选项。

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

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版本尝试此方法。

答案 3 :(得分:10)

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

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

  1. 打开此链接:https://www.nuget.org/downloads
  2. 下载nuget.exe
  3. 的最新版本
  4. 将此.nuget/nuget.exe替换为此新版本。
  5. 再试一次,我相信它会起作用。

答案 4 :(得分:1)

此修复程序对我有用(我使用vs 2013,不确定它是否适用于其余部分),转到工具 - >扩展和更新,然后为visual studio 2013寻找NuGet包管理器,卸载它。在左侧窗格中选择在线,它将带您进入visual studio gallery,在右侧窗格中搜索Visual Studio 2013的NuGet包管理器,它将为您带来正确的安装版本。安装那个,你很高兴,希望能把这个人排除在外。

答案 5 :(得分:1)

迁移到.Net 4.7.1。之后,即使安装了nuget软件包2.12.0.817( Visual Studio 2013

,我也遇到了同样的问题

enter image description here

这对我有用:

转到library(tidyverse) # your data scan_count_AB <- data.frame(x= c(T, F), freq = c(1403, 627)) scan_count_C <- data.frame(x= c(T, F), freq = c(167, 846)) scan_count_D <- data.frame(x= c(T, F), freq = c(135, 880)) # and the plot list(AB=scan_count_AB, C=scan_count_C, D=scan_count_D) %>% bind_rows(.id = "id") %>% group_by(id) %>% mutate(perc = freq/(sum(freq))) %>% mutate(x = factor(x, levels = c(T,F), labels=c("HNBS", "HBS"))) %>% ggplot(aes(id, perc, fill = factor(x))) + geom_col() + scale_y_continuous(labels = scales::percent) + scale_fill_discrete("") + theme_bw() + theme(legend.position = "bottom") 重新启动Vistual Studio(我以管理员身份打开,我不知道它是否有所不同)。 再次打开Visual Studio2013。转到Tools > Extensions and Updates... > Installed > find the nuget package installed and unistall it.,然后重新启动Visual Studio。 重建之前,请清除项目解决方案。

答案 6 :(得分:1)

Install-Package Newtonsoft.Json -Version 6.0.3

答案 7 :(得分:0)

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

答案 8 :(得分:0)

尝试

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.

答案 9 :(得分:-2)

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

public function is_token_expired($token) {
    $this->db->select('expiry_time');
    $this->db->from('tbl_tokens');
    $this->db->where('token', $token);
    $result = $this->db->get()->row();

    if ($result != null) { 
        //print_r($result->expiry_time);
        if ($result->expiry_time < date("Y-m-d h:i:s")) {
            $this->db->where('user_id', $result->user_id);
            $this->db->delete('tbl_tokens');
            return false;

如果问题仍然存在,我认为您应该将代码从版本管理器克隆到新文件夹,并按照以前的步骤进行操作。

希望对你有所帮助。

答案 10 :(得分:-3)

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

Update-Package NuGet.VisualStudio

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

答案 11 :(得分:-5)

我尝试了一切,但没有任何帮助我。比我从2012年到2015年改变Visual Studio版本,现在一切都像魅力一样。