You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

自托管Azure Pipelines执行dotnet restore时遇NU1301错误求助

解决自托管Azure Pipelines代理上dotnet restore的NU1301错误
  • 排查代理机器网络连通性
    在代理机器上执行命令访问Feed的服务索引URL,比如:

    Invoke-WebRequest -Uri "https://pkgs.dev.azure.com/[组织名]/[项目名]/_packaging/[Feed名]/nuget/v3/index.json"
    

    或者Linux/macOS下:

    curl https://pkgs.dev.azure.com/[组织名]/[项目名]/_packaging/[Feed名]/nuget/v3/index.json
    

    确认能正常返回JSON内容,若失败则排查防火墙、内网规则或代理服务器配置。

  • 验证Feed权限配置
    确保流水线使用的身份拥有目标Feed的读取权限:

    • 进入Feed的权限设置页面,检查[组织名] Build Service ([项目名])账号是否在“读者”或“贡献者”组中
    • 若使用个人访问令牌(PAT),确认令牌包含packaging read权限且未过期
  • 检查临时NuGet配置有效性
    流水线运行时会在代理机器的$(Agent.TempDirectory)目录生成临时NuGet.config,找到该文件:

    • 核对Feed的URL是否正确
    • 可手动替换配置中的密码为有效PAT,执行dotnet restore --configfile [临时配置文件路径]测试是否能成功拉取包
  • 禁用全局NuGet配置干扰
    重命名代理机器上的全局NuGet配置文件(Windows路径:C:\Users\[用户名]\AppData\Roaming\NuGet\NuGet.config;Linux/macOS路径:~/.nuget/NuGet/NuGet.config),再重新运行流水线,排除全局配置的冲突。

  • 更新代理与Dotnet SDK版本
    将自托管Azure Pipelines代理更新至最新稳定版,同时确保代理机器上的Dotnet SDK为项目兼容的最新版本,避免版本bug导致的身份验证或索引加载问题。

  • 确认目标项目的访问限制
    若Feed所在项目为私有项目,检查是否设置了IP允许列表,将代理机器的IP加入列表;同时确认项目未设置额外的访问权限限制。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 14:27:29