Why does System.IO.File.Exists(string path) return false?

It could well be a permission problem. From the documentation:

The Exists method returns false if any error occurs while trying to determine if the specified file exists. This can occur in situations that raise exceptions such as passing a file name with invalid characters or too many characters, a failing or missing disk, or if the caller does not have permission to read the file.

One way of seeing what’s happening is to just try to read the file (e.g. with File.OpenRead). I’d be surprised if that succeeds – but if it fails, the exception should give you more information.

Leave a Comment