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

Web.*env*.config文件未被复制到CI构建制品的原因是什么?

.NET应用CI构建环境配置文件未复制问题排查记录

问题现象

JJ项目(.NET应用)CI构建流水线的复制任务执行后,Web.Dev.config、Web.Test.config、Web.Prod.config三个环境配置文件未出现在最终构建制品中。
同架构EE项目的流水线配置与JJ完全一致,对应配置文件可正常复制到制品。已提前确认以下信息:

  • JJ代码仓库中存在对应的三个环境配置文件
  • 两个项目的CopyFiles任务YAML配置完全相同
  • 两个项目的仓库目录结构、配置文件存储路径完全一致

流水线CopyFiles任务配置

JJ项目配置

steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)/Release'
  inputs:
    SourceFolder: '$(Build.ArtifactStagingDirectory)/_PublishedWebsites/JJDashboard'
    Contents: |
     assets/**
     bin/**
     Bundles/**
     Content/**
     Scripts/**
     Views/**
     Web.config
     Web.Dev.config
     Web.Test.config
     Web.Prod.config
     ApplicationInsights.config
     *.asax
     *.ico
     *.txt
    TargetFolder: '$(Build.ArtifactStagingDirectory)/Release'

EE项目配置

steps:
- task: CopyFiles@2
  displayName: 'Copy Files to: $(Build.ArtifactStagingDirectory)/Release'
  inputs:
    SourceFolder: '$(Build.ArtifactStagingDirectory)/_PublishedWebsites/EEDashboard'
    Contents: |
     assets/**
     bin/**
     Bundles/**
     Content/**
     Scripts/**
     Views/**
     Web.config
     Web.Dev.config
     Web.Test.config
     Web.Prod.config
     ApplicationInsights.config
     *.asax
     *.ico
     *.txt
    TargetFolder: '$(Build.ArtifactStagingDirectory)/Release'

根因与解决方案

对比两个项目的.csproj工程文件发现,JJ项目中三个环境配置文件的引用缺少<content Include>标签,为对应文件添加该属性后问题解决。
补充说明:.NET项目构建发布时,仅会将.csproj中标记为Content类型的文件输出到发布目录,未配置该属性的文件仅保留在代码仓库中,不会出现在_PublishedWebsites下的构建输出目录,因此后续CopyFiles任务无法匹配到对应文件。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:45:03