首页 新闻 搜索 专区 学院

dotnet restore 时遭遇 nuget 官网证书问题

1
悬赏园豆:30 [已解决问题] 解决于 2021-01-28 21:53

在 .net 5.0 sdk 容器中 build 项目时执行 dotnet restore 出现下面的错误

Package 'Microsoft.Extensions.Configuration.Binder 3.0.0' from source 'https://api.nuget.org/v3/index.json': The author primary signature's timestamp found a chain building issue: UntrustedRoot: self signed certificate in certificate chain

Dockefile 中对应的指令如下

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
WORKDIR /src
COPY *.sln *.props NuGet.config ./
COPY ./*/*.csproj ./
RUN for file in $(ls *.csproj); do mkdir -p ./${file%.*}/ && mv $file ./${file%.*}/; done
RUN dotnet restore
COPY . .
RUN dotnet build -c Release --no-restore

请问如何解决这个问题?

dudu的主页 dudu | 高人七级 | 园豆:36310
提问于:2021-01-27 21:21
< >
分享
最佳答案
0

https://github.com/NuGet/Home/issues/10491评论中找到了临时解决方法:

在 Dockerfile 中 FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build 之后添加下面的指令

ADD http://ftp.us.debian.org/debian/pool/main/c/ca-certificates/ca-certificates_20210119_all.deb .
RUN dpkg -i ca-certificates_20210119_all.deb
RUN apt-get update && apt-get install -y ca-certificates && update-ca-certificates && rm -rf /var/lib/apt/lists/*
dudu | 高人七级 |园豆:36310 | 2021-01-28 10:54

后来我们采用的最简单的解决方法是把镜像tag中的5.0改为5.0-focal,focal对应的是ubuntu 20.04

dudu | 园豆:36310 (高人七级) | 2021-01-28 21:53

改为 focal 后,软件源替换为国内镜像的命令需要改为

RUN sed -i s@/archive.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list
dudu | 园豆:36310 (高人七级) | 2021-01-29 18:34
其他回答(1)
0

同问。。。程序都还没跑起来,别的也不敢再跑了。。。
是不是得等那边大佬更新签名证书。。。
看了看都是System和Microsoft下的包出问题

收获园豆:30
wangbg | 园豆:232 (菜鸟二级) | 2021-01-28 07:23
支持(0) 反对(0) dudu | 园豆:36310 (高人七级) | 2021-01-28 08:37

@dudu: 尝试临时的解决办法,没有成功,一直加载中,后来找到这个,更新sdk镜像即可,原文地址:https://github.com/dotnet/dotnet-docker/issues/2547

FROM mcr.microsoft.com/dotnet/sdk:5.0 AS build
改为:
FROM mcr.microsoft.com/dotnet/sdk:5.0.102-ca-patch-buster-slim AS build

支持(0) 反对(0) wangbg | 园豆:232 (菜鸟二级) | 2021-01-28 21:26
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册