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

Azure DevOps中DotNetCoreCLI@2无法将.NET6 Web API发布为.zip包

问题分析与解决

核心错误点

  • 参数名拼写错误:你的DotNetCoreCLI任务里用了commands,但正确的参数名是command(单数形式)。这个错误导致任务没有执行publish命令,而是默认执行了build命令,自然不会触发zipAfterPublish的打包逻辑——从日志里的/usr/bin/dotnet build也能验证这一点。
  • 路径格式不兼容:你使用了Windows风格的反斜杠.\src\...,但代理是Ubuntu系统,应该用正斜杠./src/...。
  • 参数冲突:当显式指定具体项目文件时,publishWebProjects: true会被忽略,建议设为false避免混淆。

修正后的YAML配置

pool:
  vmImage: 'ubuntu-latest'

- task: DotNetCoreCLI@2
  inputs:
    command: publish  # 修正为单数command
    publishWebProjects: false  # 指定具体项目时设为false
    arguments: '-c Release -r linux-x64 --no-self-contained --output $(Build.ArtifactStagingDirectory) ./src/BasicDemoApi/BasicDemoApi.csproj'  # 修正路径斜杠
    zipAfterPublish: true

- task: PublishBuildArtifacts@1
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)'
    ArtifactName: 'drop'

额外说明

修正后,任务会正确执行dotnet publish命令,结合zipAfterPublish: true,会在$(Build.ArtifactStagingDirectory)目录下生成对应的zip包,最后通过PublishBuildArtifacts任务上传到Azure DevOps的制品库中。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 02:25:42