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

如何修改Azure DevOps中构建产物文件名并添加构建编号

问题解答

一、构建产物文件名“WebApplication1”的来源

这个名称的根源是你在Visual Studio中创建ASP.NET Core WebApp项目时指定的项目名称,具体关联点有两个:

  • 项目配置文件:项目根目录下的WebApplication1.csproj文件中,默认包含<AssemblyName>WebApplication1</AssemblyName>节点,这个值是构建输出产物的基础名称来源。
  • Azure DevOps构建任务:如果使用默认的ASP.NET Core构建模板,DotNetCoreCLI@2的publish命令在未显式指定输出文件名时,会自动读取项目的AssemblyName值作为部署包/输出目录的名称,最终同步到drop目录中。

二、修改drop目录产物文件名,添加构建编号的方法

根据你输出产物的类型(文件夹或zip包),可以选择以下两种常用方式:

方式1:在DotNet Publish任务中直接指定带构建编号的输出路径

通过dotnet publish命令的参数直接定义输出名称,一步到位:

  • 如果输出是文件夹形式:
- task: DotNetCoreCLI@2
  displayName: '发布Web应用'
  inputs:
    command: 'publish'
    projects: '**/WebApplication1.csproj'
    arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)/WebApplication1_$(Build.BuildNumber)'
    publishWebProjects: false
  • 如果输出是zip包形式,使用--zip-file-path参数:
- task: DotNetCoreCLI@2
  displayName: '发布Web应用为Zip包'
  inputs:
    command: 'publish'
    projects: '**/WebApplication1.csproj'
    arguments: '--configuration $(BuildConfiguration) --zip-file-path $(Build.ArtifactStagingDirectory)/WebApplication1_$(Build.BuildNumber).zip'
    publishWebProjects: false

之后执行PublishBuildArtifacts@1任务时,直接将上述输出路径发布到drop即可。

方式2:先完成Publish,再通过重命名任务调整文件名

如果需要保留原Publish流程,可在之后添加重命名步骤:

  1. 先正常Publish到临时目录:
- task: DotNetCoreCLI@2
  displayName: '发布Web应用到临时目录'
  inputs:
    command: 'publish'
    projects: '**/WebApplication1.csproj'
    arguments: '--configuration $(BuildConfiguration) --output $(Build.ArtifactStagingDirectory)/temp'
    publishWebProjects: false
  1. 用CopyFiles任务将临时目录的内容复制到带构建编号的新目录:
- task: CopyFiles@2
  displayName: '重命名并复制到 staging 目录'
  inputs:
    SourceFolder: '$(Build.ArtifactStagingDirectory)/temp'
    TargetFolder: '$(Build.ArtifactStagingDirectory)/WebApplication1_$(Build.BuildNumber)'
  1. 发布新目录到drop:
- task: PublishBuildArtifacts@1
  displayName: '发布产物到drop'
  inputs:
    PathtoPublish: '$(Build.ArtifactStagingDirectory)/WebApplication1_$(Build.BuildNumber)'
    ArtifactName: 'drop'
    publishLocation: 'Container'

如果是Zip包,也可以用PowerShell任务直接重命名:

- task: PowerShell@2
  displayName: '重命名Zip包'
  inputs:
    targetType: 'inline'
    script: |
      Rename-Item -Path "$(Build.ArtifactStagingDirectory)/WebApplication1.zip" -NewName "WebApplication1_$(Build.BuildNumber).zip"

内容的提问来源于stack exchange,提问作者Gamer X.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 16:01:07