替换 Azure Web 应用中所有 .config 文件中的标记

Replace tokens in all .config files in an Azure Web App

我已经设置了我的环境变量,在 部署组阶段使用 替换文件中的令牌 任务在本地测试环境中成功替换了这些变量。我现在正在部署到 Azure App Service,我想知道如何实现令牌替换,因为令牌的格式为:#{tokenname}#,我想替换令牌在匹配模式的文件中:**/*.config。我看过在 Azure 应用服务部署步骤中启用 XML 变量替换,但这似乎并未针对所有配置文件中的所有标记。

Azure App Service Deploy任务的XML变量替换用于修改配置设置,它的任务只影响配置文件的applicationSettings、appSettings、connectionStrings和configSections元素。

例如:

Web.config:

<appSettings>
        <add key="ClientValidationEnabled" value="true" />
        <add key="UnobstructiveJavascriptEnabled" value="true" />
        <!-- Change AdminUserName in this line: --> 
        <add key="AdminUserName" value="XXX" />
        <!-- Change AdminPassword in this line: --> 
        <add key="AdminPassword" value="XXX" />
    </appSettings>

发布定义变量:

  1. AdminUserName = ProAdmin
  2. AdminPassword = ProPass

然后AdminUserName和AdminPassword的值将替换为ProAdmin和ProPass。

XML variable substitution

关于你的问题,你仍然可以使用Replace tokens任务来替换值(zip文件需要解压到一个文件夹),你可以为不同的环境(Scope)定义同名的变量。

如果您只需要替换 applicationSettings、appSettings、connectionStrings 和 configSections 元素中的值,也可以使用 Azure App Service 部署任务。