Web.config 变量更新不适用于 Azure DevOps 管道(文件转换)

Web.config variable update not working with Azure DevOps pipeline (File Transform)

我正在尝试在我的管道中使用任务“文件转换”来在部署期间修改我的 web.config 文件中的一些值。

我创建的任务如下:

并且在管道中的变量内部,我在 XML 文件中设置了要替换的键和值。

一切似乎都很顺利,但是,当我查看日志时,我看到了这个

所以,文件被简单地跳过了,转换没有成功。

我试图在 web.config 文件中修改的变量在 XML 文件中具有以下路径

  <aspNetCore>
   <environmentVariables>
     <environmentVariable  name="x" value="y" />
    </environmentVariables>
   </aspNetCore>
 </configuration>

我看了很多遍文档,但不清楚我是否做错了。

拜托,您能否提供一些建议,说明我需要检查哪些内容才能使其正常工作?

谢谢

根据关于XML variable substitution的文档:变量替换仅对配置的applicationSettingsappSettingsconnectionStringsconfigSections元素生效文件。它不适用于您的 environmentVariable 元素。当我更改 appSettings 元素中的值时,它对我来说效果很好。

请参考文档中关于file transform的示例。

我在回答我自己的问题。

根据我收到的评论,我找到的解决方案如下:

1- 部署后在管道中使用替换令牌任务 (https://github.com/qetza/vsts-replacetokens-task#readme)。我还删除了那个“文件转换”,因为它不能满足我的需要。 2- 在配置中,我将根文件夹指向已部署的应用程序,而不是 Zip 文件,正如其他问题所指示的那样 () 3- 在 web.config 文件中,我按照建议使用了令牌前缀和后缀“#{token}# 4- 将变量添加到变量组

部署后,我检查它工作正常。