Nuget包更新问题

10

我在使用Visual Studio 2013更新解决方案中的Nuget包时遇到了问题。

我右键点击解决方案,选择“管理解决方案的包”,然后在更新选项卡中选择“全部更新”。

所有更新似乎都成功了,但是在更新选项卡中,已更新的包仍然显示需要更新。如果我再次尝试更新它们,项目列表会列出每个使用该包的项目,并且每个复选框都被禁用,好像它已经知道它们已经被更新了。所以据我所知,每个项目都已经更新了。

我已经重新启动了Visual Studio。

还有其他人遇到过类似的问题吗?


没有遇到过这个问题,但你尝试使用控制台更新了吗?(检查是否有任何错误消息)另外,检查一下你的解决方案中的包文件夹,新版本在那里吗?还有一件事要检查,就是你的packages.config文件中是否请求了特定版本的包。 - roundcrisis
1
我已经查看了其中一个软件包。它被3个项目引用。所有3个项目都引用了最新版本。每个项目的packages.config文件都显示它引用了最新版本。进入软件包管理器控制台时,它并没有显示这个软件包需要更新。然而,当查看需要更新的解决方案中的所有软件包时,仍然显示该软件包有一个更新。 - eyeballpaul
1
如果您按照项目的参考并指向正确的版本,然后导航到NuGet Gallery并且版本相同,则我认为VS2013 NuGet扩展是有问题的。 - roundcrisis
1
好的建议,不过我刚在VS2012中打开了它,问题依然存在。 - eyeballpaul
需要更多信息才能提供帮助。您能在新项目中复现吗?参考相同的包? - roundcrisis
1个回答

23

检查你的packages文件夹。看起来这个问题发生在Nuget无法删除旧版本包的情况下。所以如果你有一个"MyLib 4.0.3.0"文件夹和一个"MyLib 4.0.5.0"文件夹,那么它会在已安装的包列表中显示这两个文件夹,并认为需要更新MyLib。


1
这应该被标记为答案。我曾经遇到过这个问题,它为我解决了。 - Dan
我也是。删除了packages文件夹,恢复了所有的包,然后“管理解决方案的包”中的“更新”窗口就修复了。 - realPT

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接