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

如何为.NET 7函数应用添加自定义配置文件并解决Azure部署报错

解决Azure函数发布后找不到config.json的问题

1. 确认项目发布配置包含config.json

检查项目的.csproj文件,确保添加以下配置,保证文件被复制到发布目录:

<ItemGroup>
  <Content Include="config.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </Content>
</ItemGroup>

若使用Visual Studio发布,右键项目→属性→生成操作,确认config.json的「生成操作」为「内容」,「复制到输出目录」为「较新时复制」或「始终复制」。

2. 修正配置文件路径获取逻辑

Azure函数运行时的Environment.CurrentDirectory可能并非程序集所在目录,改用AppContext.BaseDirectory获取正确路径:

IConfiguration configuration = new ConfigurationBuilder()
                       .SetBasePath(AppContext.BaseDirectory) // 替换原有的Environment.CurrentDirectory
                       .AddJsonFile("local.settings.json", optional: true, reloadOnChange: false)
                       .AddJsonFile("config.json", optional: false, reloadOnChange: false)
                       .AddEnvironmentVariables()
                       .Build();

3. 验证Azure服务器上的文件是否存在

登录Azure门户,进入目标函数应用:

  • 打开高级工具(Kudu),选择调试控制台→CMD
  • 导航到site/wwwroot目录,查看是否存在config.json文件
  • 若不存在,手动上传该文件测试,排查是否为发布过程中的文件遗漏问题

4. 推荐:使用Azure应用设置替代本地配置文件

对于Azure函数生产环境,更推荐用应用设置(环境变量)管理配置,避免文件依赖:

  • 在Azure门户的函数应用→配置→应用设置中,添加对应配置项(例如DbConfig__ConnectionString,用双下划线分隔层级)
  • 代码无需修改,AddEnvironmentVariables()会自动读取这些配置,本地开发仍可通过local.settings.json调试

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 19:13:15