Azure DevOps XmlTransformation无法正常工作

时间:2019-05-20 08:18:39

标签: azure-devops azure-pipelines azure-pipelines-release-pipeline

我创建了一个发布管道,该管道运行得很好,但是XML转换部分没有按我期望的那样工作。

我为我的阶段命名为“ Development”,并且具有如下所示的“ Web.Development.config”文件,我检查了“ XML Transformation option”,但未更改。当我添加“ Web.Release.config”时,它可以工作,但是我要在开发环境中使用“ Web.Development.config”,而我要在生产环境中使用“ Web.Production.config”。

当我删除“ Web.Release.config”时,什么也没发生。

当我添加“ Web.Release.config”时,什么都没有发生。它正在跳过或不使用“ Web.Development.config”。

我想念什么?什么地方出了错?

Web config files

Release Pipeline Definition Preview

Release Stage Preview

2 个答案:

答案 0 :(得分:1)

尝试了很多事情之后,终于找到了解决问题的方法。这些步骤是:

  1. 转到构建定义,选择“构建解决方案”任务,然后添加“ / p:autoparameterizationwebconfigconnectionstrings = false”作为参数。如果您不这样做,那么xml转换过程将跳过替换“ connectionString”属性的操作。

enter image description here

  1. 将所有配置文件作为内容并将其标记为始终复制。编辑后,它们应与下面的项目文件中的一样。您应该删除Web.config标记。

enter image description here

  1. 转到发布定义并检查XML转换选项。

  2. 确保使用* .. config文件为舞台命名相同的名称。 您可以检查此链接以获取更多详细信息:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/transforms-variable-substitution?view=azure-devops

答案 1 :(得分:0)

默认情况下,Azure DevOps使用您的web.configweb.release.config,然后应用特定于环境的配置。除了重命名/删除文件外,没有其他方法可以将web.release.config从转换中排除。

有关所有详细信息,请参见https://www.tensorflow.org/api_docs/python/tf/Print上的文档。