【发布时间】:2017-10-10 14:19:46
【问题描述】:
我正在尝试使用 web.config 转换在本地 Team Foundation Server 2015 上设置构建。根据我选择的构建配置,转换工作正常。我有 3 个构建配置:Debug、Release 和我创建的一个,称为“Staging”。我正在尝试通过在队列时间设置 $(BuildConfiguration) 变量来为不同的环境重新使用相同的构建。在我的 TFS 构建的“Visual Studio 构建”步骤中,当我将 $(BuildConfiguration) 设置为“调试”时,构建将输出到代理文件夹,如下所示: $(Build.SourcesDirectory)\projectFolder\obj\Debug\Package\PackageTmp .如果我将它设置为“发布”,那么它将转到 $(Build.SourcesDirectory)\projectFolder\obj\Release\Package\PackageTmp。在这两种情况下,Web.config 文件都会正确转换。
但是,如果我将构建配置设置为“Staging”,则文件仍放置在“debug”文件夹 $(Build.SourcesDirectory)\projectFolder\obj\Debug\Package\PackageTmp 而不是“Staging”文件夹中. (在这种情况下,转换也可以正常工作,并使用暂存值)
这会在我的“复制文件”步骤中产生问题。我在该步骤中将“源文件夹”值设置为 $(Build.SourcesDirectory)\projectFolder\obj\ $(BuildConfiguration) \Package\PackageTmp,但是在使用“Staging”时,它找不到源文件夹,因为 TFS 将构建文件放在“调试”文件夹中。
有没有办法强制 TFS 将构建的项目(基本上是我的 Web 应用程序文件)放置在与构建配置参数匹配的文件夹中,在本例中为“Staging”?
【问题讨论】: