3

我们的本地 NuGet 包服务器遇到了一个奇怪的问题。随着时间的推移,包似乎变得不可用,唯一的修复似乎是触摸 .nupkg 文件(例如,只需在包资源管理器中打开文件)或只是创建包的新构建/版本。

这是返回的错误的图片:

无法验证包裹内容

我们使用 IIS6 托管 NuGet 服务器,使用服务器的最新 NuGet 包(服务器和核心版本 1.5.20902.9026)

有谁知道发生了什么以及如何永久修复它?

4

3 回答 3

9

我们突然在我们的 Jenkins 构建服务器上遇到了这个问题,NuGet 无法下载实体框架。在我们的案例中,问题在于与项目本身一起签入的NuGet.exe已经有一段时间没有更新了。

我通过以下方式解决了这个问题:

  • 从版本控制中签出项目
  • 打开命令提示符并导航到项目中的.nuget子文件夹
  • 运行以下命令让 NuGet.exe 自行更新:NuGet.exe update -self
  • 在我们的例子中,这导致 v1.6 更新到 v2.7.3,所以我们一直很草率 :)
  • 在版本控制中签入替换的 NuGet.exe

之后,该项目再次构建得很好。我想我们将来会调查不签入 NuGet.exe 的可能性,这篇 SO 帖子似乎很有帮助,但我自己还不能尝试:防止需要将 NuGet.exe 添加到源代码控制

于 2013-12-19T08:22:23.520 回答
3

这实际上是 NuGet.Server 中的一个错误。有一种竞争条件会导致提要获得过时的哈希码。您可以在 nuget 上关注有关它的各种讨论。

于 2011-11-28T06:14:06.807 回答
0

我在尝试安装 T4Scaffolding 时遇到了这个问题,我可以通过重新安装 NuGet 包管理器来解决它(因为我无法更新包管理器,所以我卸载并重新安装了)。

于 2013-12-12T20:24:06.937 回答