只读文件在只读设置为false后立即使用



我正试图使用以下代码删除一个只读文件。

var fileInfo = new FileInfo(saveLocation);
fileInfo.IsReadOnly = false;
fileInfo.Delete();

当它到达第三行时,抛出以下异常

消息:进程无法访问文件"\\filepath\filename.pdf",因为另一个进程正在使用该文件。

注意:\\filepath\filename.pdf不是实际的文件路径,我只是用它来替换更长路径的

我已经检查了该文件,在代码运行之前,它被设置为只读,而在代码运行之后,它就不再是只读了。

我认为当一个文件以只读方式打开时,它在使用中不被认为是错误的吗?我敢肯定,对于像.xlsx文件一样糟糕的微软办公文件来说,这是真的,但对于PDF来说可能不是吗?

最终,我的目标是能够将该文件的更新版本推送到共享位置,即使某些用户在其计算机上打开了该文件,这就是为什么我最初将其设置为只读的原因。

消息:进程无法访问文件"\filepath\filename.pdf",因为另一个进程正在使用该文件。

这与只读文件不同。

你可以在代码中找到哪个进程正在锁定文件

https://stackoverflow.com/a/20623311/141172

您也可以从命令行中找到

更新

根据你的评论,你可能想要在处理的过程中对文件进行独占锁定

在C#中以独占模式打开文件

命令行工具,用于查找锁定文件的人员

最新更新