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

TFS 2015发布构建工件目录配置异常及布局需求求助

解决方案:TFS 2015发布构建工件为空或包含多余Debug目录的问题

咱们先把问题的核心原因理清楚:
你的Release配置输出路径是..\bin\,如果解决方案放在$SomeRootFolder\MySolution,那构建完成后,Release的bin文件夹其实生成在上级目录$SomeRootFolder下,而非$SomeRootFolder\MySolution内部。这就是为什么你把发布步骤根目录设为$SomeRootFolder\MySolution时,指定/bin/**会找不到内容——这个路径是在MySolution目录下找bin,根本不存在!而用**\bin**会递归搜索所有叫bin的文件夹,自然会把Debug的bin\Debug也一并包含进来。

下面给你几个可行的解决方案,按推荐程度排序:

方案1:调整发布步骤的根目录(最简单直接)

修改「发布构建工件」步骤的配置:

  • 根目录:改为$SomeRootFolder(也就是MySolution文件夹的上级目录)
  • 内容:设置为以下路径(去掉开头斜杠避免路径歧义):
    bin/**
    MySolution/MySolutionApp/Web.config
    MySolution/MySolutionApp/Global.asax
    MySolution/MySolutionApp/ApplicationInsights.config
    
  • 工件名称:保持为MySolution

这样配置后,TFS会把$SomeRootFolder下的bin文件夹,以及MySolution/MySolutionApp里的三个配置文件打包到MySolution工件中,正好符合你想要的目录布局:

MySolution\bin
MySolution\Web.config
MySolution\Global.asax
MySolution\ApplicationInsights.config

方案2:使用相对上级路径(不修改根目录的情况)

如果不想调整根目录,可以在内容路径中用../引用上级目录的bin:

  • 根目录:保持$SomeRootFolder\MySolution
  • 内容:设置为:
    ../bin/**
    MySolutionApp/Web.config
    MySolutionApp/Global.asax
    MySolutionApp/ApplicationInsights.config
    

注意:TFS 2015的路径匹配支持../,但要确保路径拼写没有错误。

方案3:用临时Staging目录(最可控,适合复杂场景)

如果后续有更多文件需要整理,推荐先把需要的内容复制到临时目录,再发布这个目录:

  1. 添加一个「复制文件」步骤:
    • 源文件夹:$SomeRootFolder
    • 目标文件夹:$(Build.StagingDirectory)\MySolution
    • 内容:
      bin/**
      MySolution/MySolutionApp/Web.config
      MySolution/MySolutionApp/Global.asax
      MySolution/MySolutionApp/ApplicationInsights.config
      
  2. 修改「发布构建工件」步骤:
    • 根目录:$(Build.StagingDirectory)\MySolution
    • 内容:**(表示复制该目录下所有内容)
    • 工件名称:MySolution

这种方式能让你更清晰地控制要发布的内容,避免路径匹配的各种坑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:46:45