如何解决Web.config 变量更新不适用于 Azure DevOps 管道文件转换
我正在尝试在我的管道中使用“文件转换”任务来在部署期间修改我的 web.config 文件中的一些值。
我创建的任务如下:
在管道中,在变量内部,我设置了要在 XML 文件中替换的键和值。
一切似乎都很顺利,但是,当我查看日志时,我看到了这一点
因此,该文件被简单地跳过并且转换不起作用。
我试图在 web.config 文件中修改的变量在 XML 文件中具有以下路径
<aspNetCore>
<environmentVariables>
<environmentVariable name="x" value="y" />
</environmentVariables>
</aspNetCore>
</configuration>
我多次阅读文档,但不清楚我是否做错了什么。
请您提供一些建议,说明我需要检查哪些内容才能使其正常工作?
谢谢
解决方法
根据关于XML variable substitution的文档:变量替换仅对配置文件的applicationSettings
、appSettings
、connectionStrings
和configSections
元素生效。它不适用于您的 environmentVariable
元素。当我更改 appSettings
元素中的值时,它对我来说效果很好。
请参考文档中关于 file transform 的示例。
,我正在回答我自己的问题。
根据我收到的评论,我找到的解决方案如下:
1- 部署后在管道中使用替换令牌任务 (https://github.com/qetza/vsts-replacetokens-task#readme)。我还删除了那个“文件转换”,因为它不能满足我的需要。 2- 在配置中,我将根文件夹指向已部署的应用程序,而不是 Zip 文件,如另一个问题 (Azure Dev ops replace tokens per environment in release pipeline) 的指示 3- 在 web.config 文件中,我使用了令牌前缀和后缀,如建议的“#{token}# 4- 将变量添加到变量组
部署后,我检查它工作正常。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。