在nexus存储库中找不到Nuget软件包

时间:2019-06-18 12:14:45

标签: visual-studio continuous-integration package nuget nexus

我正在使用nexus OSS 3.15.2-01及其新实例。 我们面临的问题是nuget proxy repos,如果我尝试手动在nexus服务器上卷曲nuget org,它将到达URL。但是当我尝试从VS或cmd下载它时,它说找不到文件。

我为nuget和新存储库nuget_gallery创建了一个单独的blob,并在代理中提供了nuget org来对其进行配置,但它不起作用

在VS中,

严重性代码描述项目文件行抑制状态 错误Feed“ nexus prod [repo URL]”列出了软件包“ Microsoft.AspNet.WebApi.Client.5.2.7”,但多次下载nupkg的尝试均失败。提要无效,或者在当前操作进行过程中删除了必需的软件包。确认Feed中存在该程序包,然后重试。 找不到软件包“ Microsoft.AspNet.WebApi.Client.5.2.7”。

如果我们浏览存储库,但是即使在尝试下载版本时,仍会以“未找到文件(0字节)”的形式在链接中获取该版本。

2 个答案:

答案 0 :(得分:0)

您可以尝试以下提示以检查是否有帮助:

1 。通过命令行清除所有NuGet软件包缓存:nuget locals all -clear。

2 。关闭所有Visual Studio实例,然后删除C:\Users\xxx\AppData\Roaming\NuGet\NuGet.Config位置中的nuget.config文件,然后重新打开Visual Studio以还原nuget程序包。

3 。检查是否存在阻止nuget安装软件包的防火墙策略或其他代理设置。

并且请检查从 Nexus 抓取软件包时是否仅出现该问题 ,或者从 nuget.org 下载软件包时也发生该问题。也许您可以从this thread获得一些帮助。

答案 1 :(得分:0)

参加聚会有点晚,但是我遇到了同样的问题。它似乎归结于lack of NuGet protocol 3 support in Nexus

解决方法是像这样向我的nuget.config中添加protocolVersion =“ 2”;

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />

    <add key="your-nexus-repo" value="http://your-nexus-repo/nexus/service/local/nuget/your-repo-name/" protocolVersion="2"/>
  </packageSources>
</configuration>

我仍然对dotnet core 3软件包有问题,因此还必须重新添加nuget.org(如果您的全局配置中包含nuget.org,则必须删除<clear/>

<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />