Second path fragment must not be a drive or UNC name - Create Subdirectory Error

Saber MalekzadeH picture Saber MalekzadeH · Sep 3, 2013 · Viewed 20.2k times · Source

I have an exception in the third line ofthis code "Second path fragment must not be a drive or UNC name"

DirectoryInfo labdi = new DirectoryInfo(Back.mainfolderpath + @"\news\l");
DirectoryInfo tld = new DirectoryInfo(labdi.FullName + @"\" + NorA.sn.labl[i]);
tld = labdi.CreateSubdirectory(labdi.FullName + @"\" + NorA.sn.labl[i] + @"\");

There is no useful way on the web. Thank You.:!

Answer

Gayot Fow picture Gayot Fow · Apr 23, 2014

I ran into this one today and finally tracked it down.

The exception is trying to tell you that when a DirectoryInfo takes a path as an argument (e.g., CreateSubdirectory or GetFiles), it will object if the path argument contains the Root and throw this elusive exception.

So path arguments that contain "C:\" or "D:\" etc do not work. Armed with this context, the exception message actually makes a bit of sense.

In your code, you were using the FullName property and this string contains "C:\" or whatever the root is.

Given the age of the question, I should add c#, .NET 4.5, VS2013.