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

VS2022解决方案中第二个Web API读取第一个项目appsettings问题求助

解决VS2022中Web API项目读取错误appsettings的问题

1. 检查启动项目的工作目录设置

  • 右键第二个项目 → 属性 → 调试 → 应用程序参数区域,查看工作目录是否为项目根目录(默认值是$(ProjectDir))。如果被修改为第一个项目的路径,会导致程序读取错误的配置文件。
  • 确认工作目录指向当前项目根目录后,保存设置并重启项目。

2. 验证配置文件的复制属性

  • 右键第二个项目的appsettings.json及appsettings.{环境}.json文件 → 属性 → 复制到输出目录,设置为始终复制或如果较新则复制。
  • 若配置文件未被复制到输出目录,程序可能会 fallback 读取其他位置(比如第一个项目输出目录)的配置文件。

3. 检查Program.cs的配置加载逻辑

  • 确认第二个项目的Program.cs中,配置加载逻辑正确指向自身配置文件,示例如下:
    var builder = WebApplication.CreateBuilder(args);
    // 默认会加载当前目录的appsettings,若有自定义加载逻辑需检查路径
    // builder.Configuration.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
    
  • 避免硬编码配置文件路径,优先使用相对路径或默认配置加载规则。

4. 清理并重新生成解决方案

  • 点击菜单栏 → 生成 → 清理解决方案,随后重新生成整个解决方案。
  • 输出目录残留的旧配置文件可能导致程序读取错误,清理后可解决此类问题。

5. 检查launchSettings.json配置

  • 打开第二个项目的Properties/launchSettings.json,确认workingDirectory字段配置正确:
    "profiles": {
      "https": {
        "commandName": "Project",
        "dotnetRunMessages": true,
        "launchBrowser": true,
        "launchUrl": "swagger",
        "applicationUrl": "https://localhost:5001;http://localhost:5000",
        "workingDirectory": "$(ProjectDir)"
      }
    }
    
  • 确保workingDirectory值为$(ProjectDir),而非其他项目的路径。

6. 确认解决方案启动项目设置

  • 右键解决方案 → 属性 → 启动项目,确保仅第二个项目被设置为单启动项目;若启用多启动,需保证第二个项目的配置独立无冲突。
  • 避免误将第一个项目设为启动项,或多启动时的配置干扰。

内容的提问来源于stack exchange,提问作者Raphaël

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 14:15:34