当尝试打开与 位于同一目录中的文件上的 StreamReader 时,我收到 System.IO.FileNotFoundException Program.cs。
try
{
using (StreamReader sr = new StreamReader("file.txt")) { ... }
}
Run Code Online (Sandbox Code Playgroud)
有问题的单词文件与程序源代码位于同一目录中。我正在使用 Visual Studio 2019,这是一个简单的命令行项目。
那么为什么 C# 找不到这个文件,尽管它位于同一目录中呢?
Visual Studio 不会显示整个堆栈跟踪,而只会显示一行错误,这并没有帮助。
那么为什么 C# 找不到这个文件,尽管它位于同一目录中呢?
因为你的代码不在所在目录执行Program.cs。它在构建过程放置其二进制文件的目录中执行,该目录通常是一个目录bin\Debug或bin\Release子目录。
如果您使用 Visual Studio,则可以使用Copy to output directory文件的属性来确保在生成过程中它也被复制到此目录。
| 归档时间: |
|
| 查看次数: |
1376 次 |
| 最近记录: |