gpt4 book ai didi

azure - 如何在发布构建期间用 configSource 替换连接字符串文件?

转载 作者:行者123 更新时间:2023-12-02 06:40:45 26 4
gpt4 key购买 nike

我想使用 Azure tfs 为 .net Web 应用程序开发管道。我使用了已为此类部署提供的 IIS Web 部署模板/实用程序。在发布管道中,我使用 XML 变量转换。但我面临的一个问题是,在项目中,我有多个 .config 文件,并且我已将它们包含在我的 web.config 文件中,如下所示

<configuration>
<connectionStrings configSource="None"/>

<appSettings file="None">
</appSettings>

根据不同环境的发布,我在发布过程中进行了变量替换。例如,文件夹 app_data 包含 app_sttings_*.config 文件,并且文件变量确实会被替换。但我的连接字符串文件有问题,我无法在发布期间更改 configSource。

我这样做是错误的还是遗漏了一步?

最佳答案

因为 configSource 属性无法被 IIS Web App Deploy 任务替换。您可以使用扩展工具Magic Chunks替换 configSource 值。

您可以在 Azure DevOps 组织中安装 Magic Chunks 扩展。并在IIS Web App 部署任务之前添加配置转换任务来替换configSource值。

首先,您需要定义一个变量(例如 configSource)来保存发布管道变量部分中的 configSource 值。然后配置配置转换任务的转换部分,如下

{
"configuration/connectionStrings/@configSource": "$(configSource)"
}

还有另一个替换 token 任务可以替换 configSource 值。您可以查看here .

它在 IIS Web App Deploy task 中说发布管道中定义的变量将与配置文件的 appSettings、applicationSettings 和 connectionStrings 部分中的“key”或“name”条目进行匹配。也许这就是 configSource 无法被 IIS Web App Deploy 任务替换的原因。

参见File transforms and variable substitution reference了解更多信息。

关于azure - 如何在发布构建期间用 configSource 替换连接字符串文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63142632/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com