NuGet 包变得过时了吗? "无法正确下载软件包。无法验证包裹的内容”
我们的本地 NuGet 包服务器遇到了一个奇怪的问题。随着时间的推移,软件包似乎变得不可用,唯一的修复似乎是触摸 .nupkg 文件(例如,只需在 Package Explorer 中打开该文件)或者只是创建一个新的构建/版本包裹。
这是返回的错误的图片:
我们使用 IIS6 托管 NuGet 服务器,使用服务器的最新 NuGet 包(服务器和核心版本 1.5.20902.9026)
有人知道发生了什么以及如何永久修复它吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我们突然在 Jenkins 构建服务器上遇到了这个问题,NuGet 无法下载实体框架。在我们的例子中,问题在于与项目本身一起签入的 NuGet.exe 在相当长的一段时间内没有更新。
我通过以下方式解决了这个问题:
NuGet.exe update -self
之后,项目再次正常构建。我想我们将来会调查不签入 NuGet.exe 的可能性,这篇文章似乎很有帮助,但我自己还无法尝试:防止需要将 NuGet.exe 添加到源代码管理
We came across this on our Jenkins build server all of a sudden, Entity Framework could not be downloaded by NuGet. In our case the problem was that the NuGet.exe that was checked in along with the project itself hadn't been updated in quite some time.
I solved this the following way:
NuGet.exe update -self
After that the project built just fine again. I think we will investigate the possibility to not check in NuGet.exe in the future, this SO post seems to be helpful but I haven't been able to try it myself yet : Prevent needing to add NuGet.exe to source control
这实际上是 NuGet.Server 中的一个错误。存在竞争条件,导致提要获得过时的哈希码。您可以关注 nuget 上有关它的各种讨论。
This is actually a bug in NuGet.Server. There's a race condition that causes the feed to get a stale hashcode. You can follow the various discussions about it on nuget.
我在尝试安装 T4Scaffolding 时遇到了这个问题,我可以通过重新安装 NuGet 包管理器来解决它(因为我无法更新包管理器,所以我卸载并重新安装)。
I had this problem when I was trying to install T4Scaffolding, and I was able to solve it by re-installing NuGet Package Manager (as I wasn't able update the package manager, I uninstalled, and re-installed).