程序抛出FileNotFoundException异常,无法找到指定路径下的Startup文件
FileNotFoundException 异常排查方案
- 文件名后缀校验:Windows资源管理器默认隐藏已知文件类型后缀,你核验存在的文件可能实际带有
.txt/.map等后缀,程序读取的无后缀Startup路径与实际文件名不匹配,可在资源管理器文件夹选项中开启「显示文件扩展名」后再次核对文件名。 - 路径转义与字符校验:路径中
George Readhead这类带空格的目录,容易出现代码中转义错误,C#中读取路径建议使用逐字字符串写法,示例:@"N:\20-22_ALevel_CS\George Readhead\NEAExampleEngine\NEAExampleEngine\bin\Debug\Assets\Maps\Startup" - 运行时工作目录校验:程序运行时的默认工作目录不一定和exe所在的
bin/Debug目录一致,可在读取文件的代码前新增日志输出当前工作目录确认:Console.WriteLine(System.IO.Directory.GetCurrentDirectory()); - 权限与存储介质校验:如果N盘是网络映射盘,需要确认程序运行身份对目标路径有读权限,网络波动、映射盘断线都会导致即使文件存在也读取失败的问题。
- 文件占用校验:如果目标文件已经被其他进程以独占模式锁定,部分场景下也会抛出文件不存在的误导性异常,可通过资源监视器查看目标文件的占用进程。
如需进一步定位问题,可补充以下信息:
- 读取文件的相关代码片段
- 开启扩展名显示后的文件属性截图
- 运行环境信息(N盘是否为网络映射盘、是否在沙箱/容器内运行程序)
内容的提问来源于stack exchange,提问作者EpicGaia
相关产品推荐
相关产品推荐

