在nexus上使用nuget代理时,dotnet还原失败

时间:2018-06-20 12:27:46

标签: .net-core nuget nexus

我在内部网络的Nexus(v 3.9.0-01)上有一个nuget代理。我自己尚未填充本地Nexus存储库(也不知道它是如何完成的,或者是否出现任何问题),但是,我可以手动上传新软件包。该构建在Bamboo代理上进行,无法连接到公共存储库。

由于隔离,我必须使用dotnet build运行dotnet publish / --no-restore并使用dotnet restore $projectPath --source $localNexus --runtime win-x64

恢复软件包

正在恢复软件包,直到NuGet.Frameworks.4.7.0为止。这个软件包有5个不同的版本(as far as I can tell exact copy of the official nuget repo),只是不是简单的4.7.0(在正式仓库中也不存在)。然后,dotnet restore产生以下输出:

build   20-Jun-2018 16:24:26    info :   GET https://nexus.***.***.***.au/repository/nuget.org-proxy/Microsoft.CodeAnalysis.Workspaces.Common/2.8.0
build   20-Jun-2018 16:24:27    error: The feed 'https://nexus.***.***.***.au/repository/nuget.org-proxy/ [https://nexus.***.***.***.au/repository/nuget.org-proxy/]' lists package 'NuGet.Frameworks.4.7.0' but multiple attempts to download the nupkg have failed. The feed is either invalid or required packages were removed while the current operation was in progress. Verify the package exists on the feed and try again.
build   20-Jun-2018 16:24:27    error:   Unable to find package 'NuGet.Frameworks.4.7.0'.

即使我使用dotnet add $projectPath软件包--source $ localNexus before running dotnet restore强制软件包,还原操作也会失败。

注意:此软件包是我项目中Microsoft.VisualStudio.Web.CodeGeneration.Design的依赖项。

可能与之相关:https://issues.sonatype.org/browse/NEXUS-6159(标记有不同的Nexus版本)

问题:

  • 为什么软件包还原失败(即未提取最合适的4.7.0-xxx)?
  • 是因为某些Nexus怪癖吗?还是包装损坏了?
  • 为什么使用dotnet package add手动添加有问题的软件包无济于事?

1 个答案:

答案 0 :(得分:2)

Nexus 3.10出现了完全相同的问题,看来此Nexus问题已在3.14中解决; https://issues.sonatype.org/browse/NEXUS-17611