You need to enable JavaScript to run this app. Garuda Linux(Arch系)终端新建.NET项目报NU3028/NU3037证书错误求解决
优惠活动
大模型
产品
解决方案
定价
更多

Garuda Linux(Arch系)终端新建.NET项目报NU3028/NU3037证书错误求解决

Arch/Garuda 环境下 .NET NuGet 恢复报错修复方案

报错根因

NU3028、NU3037类报错的核心是.NET SDK未正确对接系统根证书信任库,拉取NuGet包时无法通过官方签名校验,和项目代码、网络连通性无关。

修复步骤

  • 更新系统全局证书库
    执行系统包管理器更新命令,同步最新的CA根证书列表:
    sudo pacman -Syu ca-certificates
  • 让.NET SDK识别系统证书路径
    Garuda默认使用Zsh作为登录Shell,将系统证书目录的环境变量写入用户Shell配置:
    编辑~/.zshrc,在文件末尾追加:
    export SSL_CERT_DIR=/etc/ssl/certs
    执行以下命令让配置即时生效:
    source ~/.zshrc
  • 校准系统时间
    签名有效期类报错常伴随本地系统时间不准的问题,打开网络时间同步校准时间:
    sudo timedatectl set-ntp true
  • 临时兜底方案
    完成上述步骤后如果仍有签名校验类报错,可临时关闭NuGet包签名验证优先跑通开发流程:
    执行restore时追加参数跳过证书校验:
    dotnet restore --no-certificate-check
    也可在项目根目录新建nuget.config配置文件,固定关闭签名校验:
    <?xml version="1.0" encoding="utf-8"?>
    <configuration>
      <config>
        <add key="SignatureValidationMode" value="accept" />
      </config>
    </configuration>
    

    注意:该配置仅适用于本地开发场景,生产环境需保持签名校验开启。

验证效果

重新执行以下命令确认修复:

  • 进入项目目录执行dotnet restore,确认无报错输出
  • 执行dotnet run,正常看到控制台应用的输出内容即表示修复完成

额外提醒:首次创建项目时注意模板名拼写,counsole为拼写错误,正确模板名为console


内容的提问来源于stack exchange,提问作者venkey venkey

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.26 17:45:07