我在Docker中运行“ dotnet restore” 我的Nuget.Config的相关部分看起来像这样
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<packageSources>
<add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
<add key="MyNuget" value="https://mynugetsource.com/nuget/v3/index.json" />
</packageSources>
</configuration>
来自我的Dockerfile
COPY ["NuGet.Config", "myproject.Api/"]
RUN dotnet restore "myproject.Api/myproject.Api.csproj" --configfile nuget.config
其中一个软件包是我从nuget.org获得的“ MassTransit”,但是还原操作却给我错误
无法从以下位置下载软件包“ MassTransit.5.5.6” 'https://mycompanysource.com/.../nuget/v3/flat2/masstransit/5.5.6/masstransit.5.5.6.nupkg'。
由于某种原因,私人来源具有MassTransit(5.5.5),因此我认为这令人困惑。 我可以以某种方式强迫nuget使用MassTransit的特定来源吗?(我需要nuget.org和私有nuget回购)
答案 0 :(得分:1)
经过反复试验,发现一个与您所概述的问题非常相似的问题,我发现了一个可能的解决方法。由于NuGet中的设计决定,如果任何源未能在依赖关系图中进行身份验证,则其他软件包可能无法下载。更正了我们对私有源的身份验证问题后,公共软件包已成功还原。
您是否收到针对私人(https://mynugetsource.com/nuget/v3/index.json
)来源的身份验证错误?