Visual studio NuGet软件包管理器未将一个软件包视为已更新

Visual studio NuGet软件包管理器未将一个软件包视为已更新,visual-studio,visual-studio-2012,nuget,Visual Studio,Visual Studio 2012,Nuget,我想知道如何调试未正确显示为已更新的NuGet包。在我的具体例子中,jQuery.Validation的包(唯一剩下的一个)在“更新”列表中,但是点击更新按钮没有任何作用。以下是用于管理我的解决方案的NuGet软件包的对话框: 点击“更新”按钮将弹出一个额外的弹出窗口: 正如你所看到的,一切似乎都有点灰暗(这是什么意思?)。点击“Ok”会让我回到另一个对话框 主要问题是我不知道如何调试这类问题。我试着做了以下几点: 打开Package Manager控制台,查看是否记录了任何问题。没有骰子

我想知道如何调试未正确显示为已更新的NuGet包。在我的具体例子中,jQuery.Validation的包(唯一剩下的一个)在“更新”列表中,但是点击更新按钮没有任何作用。以下是用于管理我的解决方案的NuGet软件包的对话框:

点击“更新”按钮将弹出一个额外的弹出窗口:

正如你所看到的,一切似乎都有点灰暗(这是什么意思?)。点击“Ok”会让我回到另一个对话框

主要问题是我不知道如何调试这类问题。我试着做了以下几点:

  • 打开Package Manager控制台,查看是否记录了任何问题。没有骰子
  • 检查
    jquery.validate.min.js
    文件,其中提到版本1.13.1,实际上是对话框中提到的最新版本
  • 检查
    packages.config
    文件,该文件还提到我的解决方案包括1.13.1版
  • 正在重新启动Visual Studio。没有骰子
  • 取下包装。重新添加包。没有骰子(即使再次重新启动Visual Studio后也不行)
这只是包管理器或包中的错误吗?如何进一步调试此问题的根本原因?


我正在使用Visual Studio 2012,已经更新了产品以及所有扩展(包括NuGet软件包管理器)。该解决方案最初基于MVC2模板,并针对每个主要的MVC版本进行了更新(目前更新到MVC5)。只有这个特定的包有问题,我在这个包之前成功地更新了10多个其他包。

如果包目录中还有一个旧的NuGet包,就会发生这种情况

管理解决方案的软件包时,NuGet对话框将显示软件包目录中所有软件包的更新,即使这些软件包未安装到任何项目中。如果您自己管理项目的包,NuGet对话框将不会显示任何可用的包更新


因此,解决方法是从packages目录中删除不需要的NuGet包。

FWIW,因为我对其他完全不相关的包也有同样的问题,所以我认为这是包管理器中的一个错误。@Jeroen因为很快就会有一个新的包管理器(NuGet本身也会有很多更改),这可能是一个没有实际意义的问题。如果您喜欢冒险,可以尝试深入研究VS扩展名的代码:@Jeroen-您的packages目录中是否有jQuery.Validation的旧版本?如果有,并且没有被任何项目使用,我会尝试从packages目录中删除它,看看它是否修复了对话框中显示的更新。这个packages目录在哪里?我在Project/solution中没有任何包目录这将是您的解决方案中的包目录。此答案适用于较旧的Visual Studio版本,因此可能不适用于您的情况。