DirectoryInfo выдает «Argument Exception: путь не имеет допустимой формы» для правильного пути - PullRequest
5 голосов
/ 18 апреля 2011

Когда я использую DirectoryInfo с определенным путем (скажем, @ "C: \") в моем приложении ASP.NET MVC, он возвращает нормально, но когда я пытаюсь использовать точно такой же путь в моей внешней библиотеке C #, он выдает выше исключения. Я проверил путь тысячу раз, и путь законен. Может кто-нибудь сказать мне причину?

Edit: Вот код:

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

Приведенный выше код используется внутри свойства.

Спасибо.

1 Ответ

1 голос
/ 18 апреля 2011

Из документации:

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

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

Проверьте, есть ли у вашего фактического пути какой-либо из них.Я знаю, что вы сказали, что проверили, является ли путь законным, но это единственный случай.Возможно, здесь поможет точный путь.

Редактировать:

Использовать Path.GetInvalidPathChars () и Path.GetInvalidFileNameChars () и посмотреть, было ли добавлено что-либо незаконное.

...