System.ArgumentException недопустимые символы в пути - PullRequest
3 голосов
/ 15 декабря 2008

Я использую Path.Combine, и одна из строк содержит символы Unicode. Я получаю исключение {System.ArgumentException}; недопустимые символы в пути.

Согласно MSDN filepath / name может содержать символы Unicode. Почему я получаю это исключение?

Edit: Вот код:

Path.Combine ("C: \ PDM \ Silver", "Amabel Bender QQQ")

Ответы [ 3 ]

5 голосов
/ 15 декабря 2008

Я разобрался в проблеме. Вторая строка содержит символ табуляции, вызывающий исключение. (это не появилось, когда я вставил строку здесь)

Спасибо всем и извините за путаницу.

3 голосов
/ 15 декабря 2008

В вашем наборе путей может быть двойные кавычки , поскольку Path.InvalidPathChars включает в себя двойные кавычки.

Это сделало бы ваше исключение не связанным с вашим персонажем Unicode ...


Только что видел, как вы редактировали свой вопрос: VB, без кавычек.

Так может быть, у вас есть непечатный символ, скопированный во вторую строку, которая выглядит как пробел перед строкой 'QQQ'?
Попробуйте также, если "Amabel BenderQQQ" или "AmabelBenderQQQ" работают (просто чтобы проверить, связано ли это с символами 'QQQ' или с пробелом)

2 голосов
/ 15 декабря 2008

Если вы используете C #, то я уверен, что вам нужно избежать обратной косой черты

Path.Combine("C:\\PDM\\Silver","Amabel Bender QQQ")

не применимо, если вы используете VB, хотя ...

...