【问题标题】:NuGet packages get stale? "Failed to download package correctly. The contents of the package could not be verified"NuGet 包过时了? “无法正确下载包。无法验证包的内容”
【发布时间】:2023-03-19 17:11:01
【问题描述】:

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

这是返回的错误图片:

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

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

【问题讨论】:

    标签: nuget nuget-package nuget-server


    【解决方案1】:

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

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

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

    之后,项目再次构建得很好。我想我们将来会调查不签入 NuGet.exe 的可能性,这篇 SO 帖子似乎很有帮助,但我自己还不能尝试:Prevent needing to add NuGet.exe to source control

    【讨论】:

    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-01-24
        • 2022-08-05
        • 1970-01-01
        • 2019-04-15
        • 2021-05-06
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多