生产平台上出现奇怪的问题(64位win 2008服务器)。
它与File.Exists
和File.Delete
方法相关联......
在debug(win xp)等测试平台上运行正常。在Server 2008上的前几次
File.Exists
报告了true
该文件不存在...
当我进行进一步的测试时File.Exists
最终报告错误的文件不存在。
但是File.Delete
在尝试删除不存在的文件时没有抛出任何错误......
发生了什么......?
我在某处读到系统虚拟化可能会搞砸了......但是没有找到任何文件:%userprofile%\AppData\Local\VirtualStore
答案 0 :(得分:27)
File.Delete
:
public static void Delete(string path)
如果要删除的文件不存在,则不会引发异常。
因此。它被审议了....没有true
\ false
并且没有例外,只要删除该文件即可。
关于File.Exist
的注意事项:
public static bool Exists(string path)
返回值类型:System.Boolean
如果调用者具有所需权限并且路径包含现有文件的名称,则true ;否则, false 。如果path为Nothing,无效路径或零长度字符串,则此方法也会返回 false 。如果调用者没有足够的权限来读取指定的文件,不会抛出任何异常,并且无论路径是否存在,该方法都会返回false。