2013-08-22 7 views
-1

Я использую метод Directory.getLastWriteTimeUtc(). Если путь слишком длинный для этого метода, он выдает PathTooLongException. Поэтому я начал использовать Google для поиска решения этой проблемы. Несколько результатов поиска советовали мне использовать \\?\ в качестве префикса. Используя проводник Windows, это решение работает отлично. Но это не работает с Visual Basic. Добавляя этот префикс к пути, результат равен ArgumentException, потому что это незаконный символ в пути.Использование длинных путей в Visual Basic

Поэтому я хочу спросить вас, есть ли у вас решение для обработки длинных путей с помощью Visual Basic.

Фрагмент кода, который вызывает проблему, следующий. Он используется для получения последнего файла папки.

О, извините. Конечно, я покажу вам мой фрагмент кода, который вызывает проблему.

Try 
If Directory.GetLastWriteTimeUtc(s) > Directory.GetLastWriteTimeUtc(latest) Then 
latest = s 
End If 
Catch e As PathTooLongException 
Console.WriteLine("error...") 
End Try 
+2

, представляющий ваш код, улучшит возможность получить поддержку здесь. Обычно мы можем проверить, есть ли подобная проблема на наших компьютерах, чтобы дать вам какой-либо ответ или помощь. Так?! –

+0

О, извините. Я добавил свой код в свой первый пост выше. –

ответ

0

Я решил проблему subsitute в Delimon.Win32.IO для System.IO библиотеки. Теперь я могу справиться с такими длинными путями. Надеюсь, я смогу помочь кому-нибудь позже.

Смежные вопросы