You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用GitHub Action变量替换功能替换App.Config中XML格式连接字符串

WPF App.Config 环境变量替换GitHub Actions实现方案

你选择的microsoft/variable-substitution@v1插件本身就支持XML文件替换,无需更换工具,只需要调整环境变量的命名规则即可实现需求。

正确配置示例

- name: 替换App.Config连接字符串
  uses: microsoft/variable-substitution@v1 
  with:
    files: 'App.Config' # 替换为你的实际配置文件路径
  env:
    # 变量名规则:节点层级 + [属性匹配] + 要修改的属性名
    configuration.connectionStrings.add [name=DefaultConnection].connectionString: ${{ secrets.DEFAULT_CONNECTION_STRING }}

配置说明

  • XML节点匹配规则:对于带有标识属性的同级节点(比如多个<add>靠name属性区分),使用[属性名=属性值]的格式精准匹配目标节点
  • 变量值直接引用GitHub仓库中配置的对应环境密钥即可,不需要额外加引号,插件会自动适配XML的属性格式
  • 如果要适配多环境,可在工作流中配置环境触发规则,不同环境引用对应环境的secrets变量即可

备选方案:PowerShell原生修改(无需第三方插件)

如果不想依赖第三方插件,可直接使用跨平台PowerShell脚本修改XML文件,配置示例:

- name: PowerShell修改连接字符串
  shell: pwsh
  run: |
    $xmlPath = "App.Config"
    $xml = [xml](Get-Content $xmlPath)
    $targetNode = $xml.configuration.connectionStrings.add | Where-Object { $_.name -eq "DefaultConnection" }
    $targetNode.connectionString = "${{ secrets.DEFAULT_CONNECTION_STRING }}"
    $xml.Save($xmlPath)

内容的提问来源于stack exchange,提问作者Coden00b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 11:06:02