为什么如果我重新启动应用程序,File.Exists() 不再工作

本文关键字:Exists 不再 工作 File 如果 重新启动 应用程序 为什么 | 更新日期: 2023-09-27 17:56:57

我有一个 ClickOnce 应用程序,它需要确定 excel 文件是否存在,以便决定是创建它还是覆盖它。

        Excel.Workbook workBook;
        if (File.Exists(fullFilePath)) {
            workBook = excelApp.Workbooks.Open(fullFilePath);
        } else {
            workBook = excelApp.Workbooks.Add(ApplicationDeployment.CurrentDeployment.DataDirectory + @"'" + TEMPLATE_NAME);
            workBook.SaveAs(path + "''" + fileName, Excel.XlFileFormat.xlWorkbookNormal);
        }

这在第一次安装和使用应用程序时工作正常,但是如果我重新启动应用程序,它不再看到该文件(如果存在),从而导致执行 SaveAs 并导致异常。例外情况是 System.Runtime.InteropServices.COMException (0x800A03EC) .

为什么如果我重新启动应用程序,File.Exists() 不再工作

嗯,这太愚蠢了。当应用程序启动时,我不小心在文件名中添加了换行符,我没有注意到,因为文件名显示在单行文本框中......天啊。