Monodevelop中调试模式下未显示Directory.EnumerateFiles的文件

时间:2011-11-06 18:23:36

标签: c# file-io mono monodevelop

我在Windows 7上使用带有c#的Monodevelop 2.8.2。我正在尝试编写一个函数来获取目录和所有子目录中的所有文件。

当我这样做时

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

在调试模式下,只找到可执行文件的名称。但是,如果我直接通过Windows资源管理器运行可执行文件,即双击,则会显示所有文件(有9个)。以管理员身份运行monodevelop无效。

这在视觉工作室中运作正常,最新情况如何?我已经尝试构建清理并验证正在检查的目录是否相同(如果可执行文件实际上是单独的,那么程序将无法运行,它需要6个dll!)。

编辑:删除了免费参数

1 个答案:

答案 0 :(得分:2)

当从monodevelop IDE以调试模式运行时,当前工作目录为bin/Debug

不出所料,它在可执行文件之外包含很少的文件:)

所以,

  • 使用其他路径而不是"."
  • 指定另一个用于调试的工作目录

编辑如果实际的输出目录包含的文件多于列出的文件,您可能已经拥有调试选项中指定的特定工作目录你的项目。您可能想要检查它,或者只是更改上面的项目符号:)