Azure DevOps XmlTransformation 无法正常工作

Azure DevOps XmlTransformation not working properly

我创建了一个发布管道,它工作得很好,但 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".

我错过了什么?哪里错了?

默认情况下,Azure DevOps 使用您的 web.configweb.release.config,然后应用特定于环境的配置。除了 renaming/deleting 文件之外,无法从您的转换中排除 web.release.config

有关所有详细信息,请参阅 XML Transformation 上的文档。

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

  1. 转到您的构建定义,选择 "Build Solution" 任务并添加“/p:autoparameterizationwebconfigconnectionstrings=false”作为参数。如果您不这样做,xml 转换过程将跳过替换 "connectionString" 属性。

  1. 将所有配置文件作为内容并始终将它们标记为副本。编辑后,它们在您的项目文件中应该如下所示。您应该删除 Web.config 标签。

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

  2. 确保您为阶段指定的名称与 *..config 文件相同。 您可以查看此 link 了解更多详情:https://docs.microsoft.com/en-us/azure/devops/pipelines/tasks/transforms-variable-substitution?view=azure-devops