Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

DirectoryInfo throws "Argument Exception: The path is not of a legal form" for the correct path

When I use DirectoryInfo with a specific path (say @"C:\") in my ASP.NET MVC application, it returns ok but when I try to use the exactly same path in my external C# library, it throws the above exception. I have checked the path a thousand time and the path is legal. Can somebody tell me the reason?

Edit: Here's the code:

var di = new DirectoryInfo("C:\\App\\Files\\");
    //        var file = di.GetFiles(Id + ".*").First();
    //        if (file != null) return file.FullName;
    //        return string.Empty;

The above code is used inside a property.

Thanks.

like image 882
Robert D Avatar asked Apr 18 '11 15:04

Robert D


1 Answers

From documentation:

path contains invalid characters such as ", <, >, or |.

http://msdn.microsoft.com/en-us/library/system.io.directoryinfo.directoryinfo.aspx

See if your actual path has any of these. I know you said you have checked if the path is legal, but this is the only case. Maybe giving the exact path here will help.

Edit:

Use Path.GetInvalidPathChars() and Path.GetInvalidFileNameChars() and see if anything that is illegal has been added.

like image 150
manojlds Avatar answered Sep 27 '22 23:09

manojlds