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

Azure DevOps构建部署Docker镜像时遭遇NU1301错误求助

排查NU1301: Unable to load the service index for source 错误

针对你在Azure DevOps中构建Docker镜像时遇到的NU1301错误,以下是具体的排查和修复步骤:

1. 修正NuGet.config的凭据节点与源Key不匹配问题

你的nuget.config中,packageSourceCredentials的节点名是companyname,但packageSources里私有源的key是Feed name,两者必须完全一致(XML节点名不能包含空格)。建议先修改源Key为无空格名称,再同步凭据节点:

修改后的nuget.config示例:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="CompanyPrivateFeed" value="https://companyname.pkgs.visualstudio.com/[项目ID]/_packaging/feedname/nuget/v3/index.json" />
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <CompanyPrivateFeed>
      <add key="Username" value="你的用户名" />
      <add key="ClearTextPassword" value="你的PAT" />
    </CompanyPrivateFeed>
  </packageSourceCredentials>
</configuration>

2. 确保NuGet.config在Docker构建时被正确读取

你的nuget.config位于src/appfolder/,但Dockerfile中dotnet restore是在/src目录执行的,默认会查找当前目录的nuget.config,因此需要做以下调整之一:

  • 将nuget.config移动到src/目录下(与buildContext路径一致)
  • 在dotnet restore命令中指定配置文件路径:
    RUN dotnet restore "./appfolder/app.csproj" --configfile "./appfolder/nuget.config"
    

3. 验证PAT的权限范围

确认你的PAT具备**Packaging (Read)**权限(restore操作仅需读取权限,无需发布权限),且作用域覆盖目标项目或组织。同时检查PAT是否未过期。

4. 修复私有源URL的格式问题

你的私有源URL中包含空格(project name),这会导致URL解析错误。建议:

  • 使用项目的GUID代替项目名称(可在Azure DevOps项目设置中获取)
  • 对空格进行URL编码(替换为%20)

5. 检查Docker容器内的网络连通性

在Dockerfile的build阶段添加网络测试命令,验证容器是否能访问私有NuGet源:

FROM mcr.microsoft.com/dotnet/sdk:8.0 AS build
ARG BUILD_CONFIGURATION=Release
WORKDIR /src
COPY . .
# 添加网络测试
RUN curl -v https://companyname.pkgs.visualstudio.com/[项目ID]/_packaging/feedname/nuget/v3/index.json
RUN dotnet restore "./appfolder/app.csproj" --configfile "./appfolder/nuget.config"
# 后续步骤...

6. 调整Azure DevOps任务配置

确保dockerfilePath参数指向正确路径,比如src/appfolder/Dockerfile,避免Docker找不到构建文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:57:26