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

.NET 6项目无法读取链接的appsettings.json问题求助

.NET 6 读取跨项目链接的 appsettings.json 解决方案

问题原因

.NET 6 默认以项目根目录作为运行时的工作目录,而非输出目录(bin/Debug/net6.0)。你虽然把文件复制到了输出目录,但默认配置读取逻辑会去项目根目录找文件,所以会提示找不到;而 .NET Core 3.1 默认运行工作目录是输出目录,因此当时能正常工作。

解决方法

方法1:直接读取源文件(推荐)

不用依赖文件复制,在 Program.cs 里直接指定 project1 中 appsettings.json 的路径,彻底规避工作目录问题:

var builder = WebApplication.CreateBuilder(args);

// 添加对project1配置文件的引用,确保相对路径与项目结构匹配
builder.Configuration.AddJsonFile("../project1/appsettings.json", optional: false, reloadOnChange: true);

var app = builder.Build();
// 后续业务代码...

方法2:修改运行工作目录

在 Visual Studio 里调整项目运行时的工作目录为输出目录:

  • 右键点击 project2 → 属性 → 调试 → 工作目录
  • 将值设置为 $(OutDir),保存后重新运行项目

这样默认的配置读取逻辑就能找到输出目录里的复制文件。

方法3:确认 csproj 配置正确性

确保你的 project2.csproj 里的链接配置无误,保证文件能正确复制到输出目录:

<ItemGroup>
  <Content Include="../project1/appsettings.json">
    <Link>appsettings.json</Link>
    <CopyToOutputDirectory>Always</CopyToOutputDirectory>
  </Content>
</ItemGroup>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 17:18:20