Файлы, не отображаемые для Directory.EnumerateFiles в режиме отладки в Monodevelop - PullRequest
1 голос
/ 06 ноября 2011

Я использую Monodevelop 2.8.2 с c # на Windows 7. Я пытаюсь написать функцию для получения всех файлов в каталоге и всех подкаталогах.

Когда я делаю

string curdir = Directory.GetCurrentDirectory();
foreach (string file in Directory.EnumerateFiles(".", "*", SearchOption.AllDirectories))
{
    Console.WriteLine("{0} in {1}", file, curdir);
}

в режиме отладки найдено только имя исполняемого файла.Однако, если я запускаю исполняемый файл напрямую через проводник Windows, т.е. при двойном щелчке, отображаются все файлы (их 9).Запуск monodevelop от имени администратора не имеет никакого эффекта.

Это работает правильно в Visual Studio, что происходит?Я попытался создать чистый и проверить, что проверяемые каталоги одинаковы (если исполняемый файл действительно один, то программа не запустится, ей нужно 6 DLL!).

edit: удален свободный параметр

1 Ответ

2 голосов
/ 07 ноября 2011

Текущий рабочий каталог bin/Debug при работе в режиме отладки из IDE monodevelop.

Неудивительно, что он содержит несколько файлов вне исполняемого файла:)

Итак, либо

  • используйте другой путь вместо "."
  • укажите другой рабочий каталог для отладки

Редактировать Если выходной каталог на самом деле содержит , содержит больше файлов, чем указано в списке, возможно, вы уже имеете конкретный рабочий каталог, указанный в опциях отладки вашего проекта.Вы можете проверить это или просто применить вышеуказанные маркеры без изменений:)

...