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

Azure DevOps中.NET 6 SDK缓存失效,每次构建重复下载问题排查

解决Azure DevOps流水线重复下载.NET 6 SDK的问题

你的YAML配置缺少了缓存相关的关键配置,导致每次在微软托管代理上运行流水线时都会重新下载.NET 6 SDK。原因是微软托管代理为临时虚拟机,每次运行流水线都会使用全新实例,默认不会保留之前下载的SDK,需要手动配置缓存任务复用已下载的文件。

修正后的YAML配置

# 先配置缓存任务,缓存.NET SDK目录
- task: Cache@2
  displayName: 'Cache .NET SDK'
  inputs:
    key: 'dotnet | "$(Agent.OS)" | 6.0.x'
    restoreKeys: |
       dotnet | "$(Agent.OS)"
       dotnet
    path: $(Agent.ToolsDirectory)/dotnet

# 再执行UseDotNet任务
- task: UseDotNet@2
  displayName: 'Get .net core 6'
  inputs:
    packageType: 'sdk'
    version: '6.0.x'
    installationPath: $(Agent.ToolsDirectory)/dotnet

配置说明

  • Cache@2任务:通过key标识缓存唯一性,结合操作系统和.NET版本号,避免不同平台、不同版本的SDK缓存冲突。restoreKeys用于精确匹配失败时,尝试匹配更宽泛的缓存项(比如同操作系统的任意.NET版本缓存)。
  • UseDotNet@2任务:保持原有配置即可,缓存恢复成功后,任务会直接使用缓存中的SDK,跳过下载步骤。

另外,你也可以先确认微软托管代理的预装软件列表,若所需的.NET 6 SDK版本已预装,可直接省略安装步骤,或调整version参数匹配预装版本,避免不必要的下载。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 10:17:23