首页 > 解决方案 > TFS Build 2015 - 如何在构建过程中将文件的内容复制到另一个文件?

问题描述

我正在一个有这两个文件的项目中工作

Web.env1.config
Web.env2.config

这些文件代表了我的应用程序发布的两个不同环境。

我们使用 TFS Build 2015 发布我们的应用程序,每当我必须发布应用程序时,我必须手动复制其中一个文件的内容并将其粘贴到Web.config文件中。

所以,我想知道是否可以自动执行此过程而无需手动执行。

标签: c#tfsbuildtfs-2015

解决方案


这就是我所做的。

如果您的所有设置都位于它支持的配置部分中,您可以使用此设置在发布管道中的 Web 部署任务期间创建转换并应用它们:

在此处输入图像描述

如果我在转换不支持的部分中有特定于环境的设置,我将Web.config.templateweb.config. 特定于环境的值是将在发布管道中替换的标记。例如,它可能不是连接字符串值,而是“~connstr~”。Web.config仅在调试期间使用。

在发布管道中,我有一个替换令牌任务,它提取管道变量并将 ~tokens~ 替换为值。特定于环境的值是作用域管道变量:

在此处输入图像描述

web.config.template文件将其标记替换为特定于环境的值后,我有一个命令行任务将其重命名为web.config. 管道从那里部署文件。

另一种选择是为每个环境创建一个安全文件并将其引入构建或发布管道。

管道非常强大,您可以通过解决方案获得创意。


推荐阅读