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

Azure DevOps Pipeline中DownloadPackage@1任务下载NuGet包时文件名缺失版本号问题求助

Azure DevOps Pipeline中DownloadPackage@1任务下载NuGet包时文件名缺失版本号问题求助

我完全理解你的困扰——用DownloadPackage@1内置任务下载NuGet包时,文件名自动去掉了版本号,而手动或API下载却能保留包名.版本号.nupkg的完整格式,同时你还希望继续借助任务自带的System.AccessToken能力,不想额外调用API来实现。

这里有两个实用的解决思路,你可以根据自己的场景选择:

方法1:开启任务提取功能间接获取完整文件名

DownloadPackage@1任务其实有个隐藏的小特性:当你开启extract参数时,任务不仅会解压NuGet包的内容到指定目录,还会在解压目录的上级路径保留完整版本号的原包文件。具体配置如下:

- task: DownloadPackage@1
  inputs:
    packageType: 'nuget'
    feed: 'RandomFeed'
    definition: 'MyPackage'
    version: '1.0.0.0'
    downloadPath: '$(System.ArtifactsDirectory)/temp'
    extract: true  # 开启提取功能

执行后,你会在$(System.ArtifactsDirectory)目录下找到完整的MyPackage.1.0.0.0.nupkg文件,而解压后的包内容则存放在$(System.ArtifactsDirectory)/temp里。之后你可以根据需求把完整包文件移动到目标位置,或者直接使用。

方法2:下载后手动重命名包文件

如果不想开启提取功能,也可以在下载完成后,通过PowerShell或Bash任务手动给包文件补上版本号。这里可以利用DownloadPackage@1任务输出的packageVersion变量来动态拼接文件名,无需硬编码版本号:

PowerShell版本(适用于Windows代理)

- task: DownloadPackage@1
  name: downloadNuGet  # 给任务命名,方便后续引用输出变量
  inputs:
    packageType: 'nuget'
    feed: 'RandomFeed'
    definition: 'MyPackage'
    version: '1.0.0.0'
    downloadPath: '$(System.ArtifactsDirectory)'

- task: PowerShell@2
  inputs:
    targetType: 'inline'
    script: |
      $oldFilePath = "$(System.ArtifactsDirectory)/MyPackage.nupkg"
      $newFilePath = "$(System.ArtifactsDirectory)/MyPackage.$(downloadNuGet.packageVersion).nupkg"
      Rename-Item -Path $oldFilePath -NewName $newFilePath

Bash版本(适用于Linux/macOS代理)

- task: DownloadPackage@1
  name: downloadNuGet
  inputs:
    packageType: 'nuget'
    feed: 'RandomFeed'
    definition: 'MyPackage'
    version: '1.0.0.0'
    downloadPath: '$(System.ArtifactsDirectory)'

- task: Bash@3
  inputs:
    targetType: 'inline'
    script: |
      mv $(System.ArtifactsDirectory)/MyPackage.nupkg $(System.ArtifactsDirectory)/MyPackage.$(downloadNuGet.packageVersion).nupkg

这两种方法都完全依赖Pipeline自带的System.AccessToken进行认证,不需要额外配置凭据,完美符合你的需求。

备注:内容来源于stack exchange,提问作者Sentoumaru

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.23 07:43:02