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

GitHub Actions中替换appsettings.json配置值失败该如何解决?

问题解决方案

1. 修复YAML语法错误(核心诱因)

YAML规范要求如果键名包含冒号:,必须用引号包裹完整键名,否则解析器会错误拆分键值结构,导致替换操作无法读取到正确的JSON层级路径,最终触发替换失败报错。

2. 统一路径分隔符

不同操作系统的路径分隔符存在差异,统一使用正斜杠/可避免跨平台运行出错,建议额外增加路径校验步骤,确认目标appsettings.json文件确实存在于指定路径。

3. 校验密钥权限

检查仓库设置中COSMOSDBSETTINGS_SERVICEENDPOINT、COSMOSDBSETTINGS_AUTHKEY两个密钥是否存在,且当前工作流有读取密钥的权限(公共仓库PR触发的工作流默认无法读取仓库密钥)。

修改后的工作流配置参考:

- name: Publish
  run: dotnet publish -c Release -o ${{env.DOTNET_ROOT}}/myapp

# 可选:校验目标配置文件是否存在,排查路径错误问题
- name: Verify appsettings.json exists
  run: Test-Path ${{env.DOTNET_ROOT}}/myapp/appsettings.json

- name: App Settings Variable Substitution
  uses: microsoft/variable-substitution@v1
  with:
    files: '${{env.DOTNET_ROOT}}/myapp/appsettings.json'
  env:
    # 包含冒号的键名用引号包裹,避免YAML解析错误
    "CosmosDbSettings:ServiceEndpoint": ${{ secrets.COSMOSDBSETTINGS_SERVICEENDPOINT }}
    "CosmosDbSettings:AuthKey": ${{ secrets.COSMOSDBSETTINGS_AUTHKEY }}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 08:24:07