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

VS Code中C#项目读取同目录本地文件失败的解决方法

解决VS Code调试时无法读取项目根目录文件的问题

核心原因:dotnet run默认以项目根目录作为工作目录,而VS Code调试模式的默认工作目录是编译后的输出目录(即报错里的C:\Users\user\Code\newConsole4\bin\Debug\net9.0\),代码里的相对路径会指向这个输出目录,自然找不到原本在项目根目录的input.txt。

下面是两种实用解决办法:

方法一:修改调试工作目录为项目根目录

  1. 在VS Code的「运行和调试」面板中,创建或打开launch.json文件(若没有则选择.NET Core环境生成默认配置)
  2. 在调试配置项里添加"cwd": "${workspaceFolder}",示例配置如下:
{
    "version": "0.2.0",
    "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "type": "coreclr",
            "request": "launch",
            "preLaunchTask": "build",
            "program": "${workspaceFolder}/bin/Debug/net9.0/newConsole4.dll",
            "args": [],
            "cwd": "${workspaceFolder}", // 指定工作目录为项目根
            "console": "internalConsole",
            "stopAtEntry": false
        }
    ]
}

保存后重启调试,代码就能正常读取项目根目录的input.txt。

方法二:将文件自动复制到输出目录

如果希望调试、发布后都能正常读取文件,可修改项目配置让构建时自动复制文件:

  1. 打开项目的.csproj文件
  2. 添加以下内容:
<ItemGroup>
  <None Include="input.txt">
    <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
  </None>
</ItemGroup>

之后每次构建或调试,最新的input.txt都会被复制到输出目录,不管用dotnet run还是VS Code调试都能正常读取。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.15 12:50:06