NuGet包管理器没有看到一个包已经更新

时间:2015-02-15 17:12:02

标签: visual-studio visual-studio-2012 nuget

我想知道如何调试NuGet包没有正确显示更新。在我的特定情况下, jQuery.Validation 的包是(#34;更新"中唯一剩下的包)。列表,但点击更新按钮什么都不做。这是我的解决方案管理NuGet包的对话框:

Manage NuGet Packages dialog

点击"更新"按钮将提供一个额外的弹出窗口:

dialog for updating the package

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

主要问题是我不知道如何调试这类问题。我尝试过以下操作:

  • 打开程序包管理器控制台以查看是否记录任何问题。没有骰子。
  • 检查jquery.validate.min.js文件,其中提到版本 1.13.1 ,实际上是对话框中提到的最新版本。
  • 检查packages.config文件,其中还提到我的解决方案包括版本 1.13.1
  • 重新启动Visual Studio。没有骰子。
  • 取出包裹。重新添加包。没有骰子(甚至在重新启动Visual Studio后也没有。)

这只是程序包管理器或程序包中的错误吗?如何进一步调试此问题的根本原因?

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

1 个答案:

答案 0 :(得分:3)

如果您在packages目录中留下旧的NuGet包,则会发生这种情况。

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

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