codegeekalpha Ответов: 2

Проблема с путем сохранения журнала ошибок


Я пытаюсь сохранить журналы ошибок в текстовом файле. Но я получаю ошибку

Illegal characters in path.


Путь кажется нормальным .

private ExceptionHandler()
        {
            string exePath = Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().Location);
            _StreamWriter = new StreamWriter(Path.Combine(exePath, "E:\test.txt"));
        }


Что я уже пробовал:

У меня есть test.txt файл на диске Е. Путь в порядке, но я получаю ошибку
Illegal characters in path

[no name]

Это потому, что путь недействителен.

2 Ответов

Рейтинг:
1

Dave Kreskowiak

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

Кроме того, путь, который вы получили из location, включает в себя имя исполняемого файла. Для тебя это тоже не сработает. Если вам нужен путь к папке, то .EXE был запущен из, вам нужно удалить .EXE сначала в конце пути.

var exePath = Assembly.GetEntryAssembly().Location;
var folder = Path.GetDirectoryName(exePath);
var logPath = Path.Combine(folder, "test.txt");


Рейтинг:
0

Patrice T

в "E:\test.txt", \t имеют особое значение.
вам нужно использовать

"E:\\test.txt"

Это поведение семейства языков Си, ' \ ' используется для специальных символов.