尝试更新 Nuget 包失败

问题描述 投票:0回答:2

我在团队环境中工作,他们设置了 NuGet Stream 来共享一些项目。我最近刚刚了解了我的一个项目的最新情况,并注意到 packages.config 已更新以引用特定 NuGet 包的较新版本。所以我想让我尝试从控制台更新包,以便我拥有最新版本,并且 Packacge.Config 指向正确的版本

现在,VS 2015 NuGet UI 甚至不显示更新包的选项(它只有安装和卸载两个选项)。没关系,我可以使用控制台并完成它。到目前为止一切顺利。

现在,当我运行命令 Update-package {packageName} 时。它抛出以下错误:

Install-Package:检索包元数据时发生错误 来自源“{Server}”的“{Package}”

所以我想它可能已损坏。因此,让我从 Package.config 中删除引用,然后从包中删除该文件夹,然后进行全新安装。这次我确实使用了选项 -verbose。所以我触发了以下命令:

install-package Uas.AnalysisWorker -verbose

这确实向我抛出了同样的错误:

这个细节:

BadGateway http://Servername/FindPackagesById()?id='{Packagename}' 2262毫秒

可能是服务器上的包已损坏,或者可能是我丢失了其他东西。但我不想在尽职调查之前联系包裹所有者,以确保我没有遗漏一些琐碎的事情。

  • 另外,我发现一些线程表明更新到最新版本的 NuGet 包管理器可以解决他们的问题。我确实有最新的 Nuget 软件包,所以这也不应该成为问题。

有什么想法吗?

visual-studio-2015 nuget nuget-package
2个回答
1
投票

根据错误消息,您的问题是在从 url 检索包元数据时出现的,您需要先从“工具”->“选项”->“NuGet 包管理器”->“包源”检查包源。 确保服务器的包源正确

要检查服务器上的软件包是否损坏,您可以尝试在服务器上安装其他软件包。或者从NuGet.org下载一个常用的包,比如Newtonsoft.Json,设置到服务器中(如果你有权限),然后从服务器安装这个包,检查是否正常工作。

如果服务器上的所有软件包(包括Newtonsoft.Json)都无法成功安装并出现该错误,则可能是服务器的软件包源不正确或访问服务器的权限受到限制。

如果只有一个指定的包无法安装成功,而Newtonsoft.Json也能安装,则服务器端的包可能已损坏。您可以联系包裹所有者。

希望这可以帮助你。


0
投票

这些响应对我来说都不起作用,使用私有 GitHub Packages Nuget 存储库时,它开始不断失败并出现错误:

System.NullReferenceException: Object reference not set to an instance of an object.
   at NuGet.PackageManagement.NuGetPackageManager

最终有效的唯一解决方案(谢天谢地)是“卸载”软件包,然后重新安装我试图更新到的最新版本。我必须为每个使用该包的项目执行此操作。

© www.soinside.com 2019 - 2024. All rights reserved.