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

升级VS 2017 15.6.0后Directory.GetCurrentDirectory()路径异常问题

解决VS2017 15.6.0升级后.NET Core控制台应用找不到appsettings.json的问题

我升级到VS2017 15.6版本后也碰到过一模一样的问题,折腾了好一会儿才搞定,给你几个靠谱的解决方案:

1. 检查文件的「复制到输出目录」属性

这是最直接的解决办法:

  • 在解决方案资源管理器里右键点击appsettings.json文件,选择「属性」
  • 在属性面板里,把「复制到输出目录」的选项改成「如果较新则复制」或者「始终复制」

升级VS后这个属性可能被意外重置了,导致文件没有被自动复制到调试输出目录,所以程序找不到它。

2. 直接修改项目文件(.csproj)强制配置复制

如果上面的UI设置没生效,可以直接编辑项目文件来确保配置:
右键项目选择「编辑.csproj」,在文件里添加以下代码块:

<ItemGroup>
  <None Update="appsettings.json">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

PreserveNewest会保证只有当源文件更新时才复制,既高效又能确保输出目录里有最新的配置文件。

3. 确认调试工作目录设置

有时候调试时的工作目录不对也会导致这个问题:

  • 右键项目选择「属性」,切换到「调试」标签页
  • 查看「工作目录」字段,确保它设置为$(TargetDir)(也就是输出目录)
    如果工作目录指向了项目根目录以外的路径,程序会在错误的位置寻找appsettings.json。

补充说明

VS2017 15.6版本对.NET Core项目的文件复制逻辑做了一些调整,之前默认自动复制配置文件的行为被修改了,所以才会出现之前正常现在报错的情况,上面的方法基本都能解决这个问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:01:45