Я пытаюсь передать путь к файлу в C# Console Application
, но у меня возникают проблемы с неправильной строкой к моменту достижения консольного приложения.Передача пути к файлу в Main (string [] args) не работает
Если я запускаю мое приложение из командной строки с параметром пути к файлу:
MyApp "C:\Users\DevDave\Documents\Visual Studio 2012\Projects\MyProject\"
Диалог окна выскакивает и сообщает мне, что мое приложение перестало работать, и когда я нажимаю опцию отладки, Я могу видеть, что результат args[0]
является:
C:. \ Users \ DevDave \ Documents \ Visual Studio 2012 \ Projects \ MyProject»
Примечания есть еще замыкающие цитаты в конце
Если я прохожу второй аргумент:
MyApp "C:\Users\DevDave\Documents\Visual Studio 2012\Projects\MyProject\" "any old string"
Я получаю ошибку снова, и после просмотра в отладке я вижу, что арг [0] является:
C: \ Users \ DevDave \ Documents \ Visual Studio 2012 \ Projects \ MyProject "any
Я сбив с толку, почему это происходит. Мое единственное предположение заключается в том, что обратная косая черта в строке вызывает какую-то escape-последовательность из строки? Редактировать: Я замечаю, что то же самое происходит в примере строки выше! Кажется, что здесь возникают проблемы.
Я просто хочу передать путь к файлу текущего каталога решений и вызывать свое приложение из события предварительной сборки, используя $ (SolutionDir), и знаю, что могу получить путь текущего решения другими способами. Но это самый простой и мне интересно, почему он не работает, как ожидалось.
Я знаю, что это не прямой ответ, но вы можете получить текущий путь от 'Directory.GetCurrentDirectory()' – wudzik
@PhilipGullick @ строк не будет работать в консоли. –
# Делает комментарий и шкуры. Я не знаю, что я читал ... –