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

Azure Pipeline中dotnet list package命令执行失败求助

问题原因与修复方案

核心错误点

  • 错误安装.NET Core Runtime而非SDK:dotnet list package是SDK专属命令,仅安装runtime无法提供该命令,必须安装对应版本的SDK。
  • DotNetCoreCLI@2任务参数配置错误:custom字段只需填子命令(如list),完整参数应放在arguments中,且任务内不能直接用>做输出重定向。
  • 冗余的runtime安装步骤:SDK包会自带对应版本的runtime组件,无需单独安装。

修正后的管道配置

trigger:
- master

pool:
  vmImage: ubuntu-latest

# 安装.NET Core 6 SDK(自带运行时,无需额外安装runtime)
steps:
- task: UseDotNet@2
  displayName: 'Use .NET Core SDK 6.x'
  inputs:
    packageType: 'sdk'
    version: '6.0.x'
    includePreviewVersions: true

# 还原NuGet包
- task: DotNetCoreCLI@2
  inputs:
    command: 'restore'
    projects: '**/*.sln'
    feedsToUse: 'config'
    nugetConfigPath: 'nuget.config'
    externalFeedCredentials: 'TelerikFeed'
  displayName: Restore nuget packages

# 直接用Bash任务执行命令并完成重定向
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      dotnet list package --format json --include-transitive > $(Build.ArtifactStagingDirectory)/depts.json
  displayName: Generate NuGet dependency list

# 发布产物
- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

额外说明

如果一定要用DotNetCoreCLI@2执行命令,需要拆分参数并通过后续步骤处理输出(不推荐,不如直接用Bash任务简便),示例:

- task: DotNetCoreCLI@2
  inputs:
    command: 'custom'
    custom: 'list'
    arguments: 'package --format json --include-transitive'
  displayName: Run dotnet list package
  name: ListPackageOutput

# 将任务输出写入文件
- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      echo "$(ListPackageOutput.stdout)" > $(Build.ArtifactStagingDirectory)/depts.json

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.10 03:16:10