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

NU1301错误排查:流水线Test任务无法加载NuGet源服务索引的解决方法

NU1301错误原因及解决办法

核心原因

  1. Test任务自动还原未使用指定配置:dotnet test默认会自动执行依赖还原,但这个自动还原不会继承dotnet restore任务的nuget.config配置,导致它加载了Agent全局配置或项目残留的无效源(比如日志中的my-feed-mes),而这些源无法正常访问。
  2. 权限不一致:restore任务可能配置了访问内部Feed的凭据,但Test任务自动还原时未携带权限信息,无法访问私有源。
  3. 存在未清理的无效源配置:某个项目文件(如MyProject.Contracts.csproj)或其他层级的nuget.config中硬编码了my-feed-mes这个无效源,Test还原时会尝试加载它。

解决办法

方法1:禁用Test任务自动还原(推荐)

既然已经单独执行过restore任务,无需在Test阶段重复还原,直接添加--no-restore参数:

- task: DotNetCoreCLI@2
  displayName: 'Run Tests'
  inputs:
    command: 'test'
    projects: '**/*.tests*/*.csproj'
    arguments: '--configuration $(buildConfiguration) --collect:"XPlat Code Coverage" --no-restore'
    publishTestResults: true

方法2:让Test任务使用指定的nuget.config

如果确实需要在Test阶段还原,显式指定和restore任务一致的配置文件:

- task: DotNetCoreCLI@2
  displayName: 'Run Tests'
  inputs:
    command: 'test'
    projects: '**/*.tests*/*.csproj'
    arguments: '--configuration $(buildConfiguration) --collect:"XPlat Code Coverage"'
    publishTestResults: true
    feedsToUse: 'config'
    nugetConfigPath: './nuget.config'

方法3:清理无效源配置

  • 检查所有.csproj文件,确认没有硬编码的<PackageSource>节点,比如:
    <PackageSources>
      <add key="my-feed-mes" value="https://pkgs.dev.azure.com/my-feed-mes/_packaging/my-feed-mes/nuget/v3/index.json" />
    </PackageSources>
    
  • 检查Agent全局nuget.config(通常在%AppData%\NuGet\NuGet.Config或~/.nuget/NuGet/NuGet.Config),移除my-feed-mes相关源配置。

方法4:统一权限配置

如果是权限问题,确保流水线配置的内部Feed访问凭据(如Azure DevOps的PAT)能被所有dotnet任务继承,或在nuget.config中通过流水线变量配置凭据(避免明文存储敏感信息)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 17:37:08