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

Azure Pipeline部署Asp.net Core至远程服务器目录结构异常求助

解决Azure Pipeline FTP上传Asp.net Core项目丢失目录结构的问题

问题原因

你的FTP上传任务中preservePaths参数设置为false,这个参数决定是否保留本地文件的目录结构。设为false时,所有文件会直接上传到远程目录的根路径,不会创建wwwroot等子文件夹,导致静态资源无法加载。

解决方案

修改Upload Publish Files任务的preservePaths为true,确保上传时保留本地的目录结构:

- task: FtpUpload@2
  inputs:
    credentialsOption: 'inputs'
    serverUrl: '$(ftpServer)'
    username: '$(ftpUsername)'
    password: '$(ftpPassword)'
    rootDirectory: '$(Build.ArtifactStagingDirectory)/published'
    filePatterns: '**'
    remoteDirectory: '$(ftpRootDirectory)'
    clean: false
    cleanContents: false
    preservePaths: true  # 此处修改为true
    trustSSL: false
  displayName: 'Upload Publish Files'

额外说明

  • 确认dotnet publish阶段的输出目录$(Build.ArtifactStagingDirectory)/published已经包含完整的目录结构(包括wwwroot),你提到设置zipAfterPublish=true时结构正确,说明本地发布环节无问题。
  • 其他FTP任务(如上传/删除App_Offline.htm)若无需保留路径,可继续使用preservePaths: false,不影响核心功能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 00:20:57