Ответ 1
В ваш путь входит "в начале и в конце". Отбросьте кавычки, и все будет хорошо.
"В начале и в конце того, что вы видите в VS Debugger, это то, что говорит нам, что кавычки буквально находятся в строке.
Я пытаюсь добраться до файла, расположенного в
C:\Program Files (x86)\test software\myapp\demo.exe
В отладчике VS я вижу путь как:
"\"C:\\\Program Files (x86)\\\test software\\\myapp\\\demo.exe\""
когда я распечатаю его, я вижу в консоли:
"C:\Program Files (x86)\test software\myapp\demo.exe"
но когда я попробую что-то вроде
FileInfo fi = new FileInfo(PathMentionedAbove);
Я получаю недопустимый символ в пути.
Что не так? файл существует, и путь правильный. что незаконно выше этого пути?
любая помощь будет оценена.
В ваш путь входит "в начале и в конце". Отбросьте кавычки, и все будет хорошо.
"В начале и в конце того, что вы видите в VS Debugger, это то, что говорит нам, что кавычки буквально находятся в строке.
Попробуйте следующее:
string path = @"C:\Program Files (x86)\test software\myapp\demo.exe";
Строка окружена двойными кавычками. Да, это не допустимый символ в пути.
Вероятно, вам стоит попробовать его у источника, но вы можете их разбить:
path = path.Replace("\"", "");
Кажется, у вас есть метки кавычек ("
), встроенные в вашу строку в начале и в конце. Они не нужны и являются незаконными символами в пути. Как вы инициализируете строку с помощью пути?
Это видно из визуализатора отладчика, поскольку строка начинается с "\"
и заканчивается на \""
, это показывает, что кавычки являются частью строки, когда они не должны быть.
Вы можете сделать две вещи - обычную экранированную строку (используя \
) или дословный строковый литерал (который начинается с @
):
string str = "C:\\Program Files (x86)\\test software\\myapp\\demo.exe";
Или:
string verbatim = @"C:\Program Files (x86)\test software\myapp\demo.exe";
Я обычно входил бы на путь, подобный этому....
FileInfo fi = new FileInfo(@"C:\Program Files (x86)\test software\myapp\demo.exe");
Вы зарегистрировали @в начале строки?; -)
попробуйте
"C:/Program Files (x86)/тестовое программное обеспечение /myapp/demo.exe"