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

C#控制台调用Microsoft Graph API加载appsettings.json抛FileNotFoundException求助

该异常的核心原因是程序运行时无法在指定的工作目录下找到appsettings.json文件,可按照以下步骤逐一排查解决:

排查与解决步骤

  • 检查文件复制输出配置
    项目根目录下新建的appsettings.json默认不会自动拷贝到程序运行目录,这是新手最常遇到的问题。操作方法:在解决方案资源管理器中右键点击appsettings.json → 选择「属性」→ 将「复制到输出目录」选项修改为「如果较新则复制」即可。
  • 确认运行时工作目录路径
    代码中通过System.IO.Directory.GetCurrentDirectory()获取的工作目录,在调试场景下可能和你预期的项目根目录不一致。可临时添加如下代码打印当前工作目录,确认对应路径下是否存在目标文件:
    Console.WriteLine("当前工作目录:" + System.IO.Directory.GetCurrentDirectory());
    
  • 排查文件名与后缀错误
    Windows系统默认隐藏已知文件扩展名,容易出现实际文件名为appsettings.json.txt但你以为是appsettings.json的问题。打开资源管理器的「显示」选项卡,勾选「文件扩展名」,确认文件名和后缀完全匹配。
  • 可选配置调整
    你当前代码中AddJsonFile的第二个参数optional设为false,代表文件不存在时直接抛出异常。如果需要兼容文件不存在的场景不触发异常,可以将参数修改为true:
    .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
    
    注意该调整仅用于避免异常抛出,你依然需要保证文件存在才能正常读取配置项。

额外注意

你当前的代码捕获FileNotFoundException后直接返回null,后续调用LoadAppSettings()方法后务必先判断返回值是否为null,再读取配置项,避免触发空引用异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 00:45:06