NuGet 包管理器看不到一个包已更新

NuGet Package Manager not seeing one package as already updated

我想知道如何调试未正确显示为已更新的 NuGet 包。在我的具体情况下,jQuery.Validation 的包在 "Update" 列表中(只剩下一个),但点击更新按钮没有任何作用。这是为我的解决方案管理 NuGet 包的对话框:

点击 "Update" 按钮会弹出一个额外的窗口:

如您所见,所有内容似乎都略微变灰(这是什么意思?)。点击 "Ok" 只会让我回到另一个对话框。

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

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

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

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

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

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