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

.NET 6类库加载自定义JSON配置时SetBasePath失效如何解决

问题原因

SetBasePath() 和 AddJsonFile() 都不属于 Microsoft.Extensions.Configuration 核心包的原生API,二者是封装在独立扩展包中的扩展方法。你仅安装了核心包因此无法识别对应方法,3.0版本可以正常运行大概率是当时项目有间接依赖对应的扩展包,版本升级后依赖丢失导致该问题。

修复步骤
  • 安装两个版本与当前核心包对齐(5.0.0)的NuGet扩展包即可:
    • Microsoft.Extensions.Configuration.FileExtensions:提供 SetBasePath() 扩展方法
    • Microsoft.Extensions.Configuration.Json:提供 AddJsonFile() 扩展方法
      你可以直接通过NuGet包管理器搜索安装,也可以在项目的.csproj文件中添加如下引用配置:
    <ItemGroup>
      <PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="5.0.0" />
      <PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="5.0.0" />
    </ItemGroup>
    
  • 安装完成后你现有的代码无需做任何调整,即可正常编译运行。
额外注意

请确保项目中的appsettings.json文件的「复制到输出目录」属性设置为「如果较新则复制」,避免运行时出现找不到配置文件的报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 17:45:03