【问题标题】:NuGet Package Manager not seeing one package as already updatedNuGet 包管理器没有看到一个包已经更新
【发布时间】:2015-04-16 05:07:29
【问题描述】:

我想知道如何调试未正确显示为已更新的 NuGet 包。在我的具体情况下,jQuery.Validation 的包在“更新”列表中(仅剩一个),但点击更新按钮什么也没做。下面是为我的解决方案管理 NuGet 包的对话框:

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

如您所见,一切似乎都略微变灰(这是什么意思?)。点击“确定”只会让我回到另一个对话框。

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

  • 打开包管理器控制台查看它是否记录了任何问题。没有骰子。
  • 检查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 多个其他包。

【问题讨论】:

  • 由于我对其他完全不相关的包也有同样的问题,我认为这是包管理器中的一个错误。
  • @Jeroen 由于即将推出一个新的包管理器(NuGet 本身也进行了许多更改),这可能是一个有争议的问题。如果您喜欢冒险,可以尝试深入研究 VS 扩展的代码:nuget.codeplex.com/SourceControl/latest
  • @Jeroen - 你的包目录中有旧版本的 jQuery.Validation 吗?如果有并且它没有被任何项目使用,我会尝试从包目录中删除它,看看它是否修复了对话框中显示的更新。

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


【解决方案1】:

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

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

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

【讨论】:

  • 这个包目录在哪里?我在项目/解决方案中没有任何包目录
  • 这将是您解决方案中的包目录。此答案适用于较旧的 Visual Studio 版本,因此可能不适用于您的情况。
猜你喜欢
  • 2022-11-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-12
  • 1970-01-01
  • 1970-01-01
  • 2011-12-26
相关资源
最近更新 更多