Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Monodevelop中调试模式下的Directory.Enumerate文件未显示_C#_File Io_Mono_Monodevelop - Fatal编程技术网

C# Monodevelop中调试模式下的Directory.Enumerate文件未显示

C# Monodevelop中调试模式下的Directory.Enumerate文件未显示,c#,file-io,mono,monodevelop,C#,File Io,Mono,Monodevelop,我在Windows7上使用带c#的MonoDevelop2.8.2。我正在尝试编写一个函数来获取一个目录和所有子目录中的所有文件 当我这样做的时候 string curdir = Directory.GetCurrentDirectory(); foreach (string file in Directory.EnumerateFiles(".", "*", SearchOption.AllDirectories)) { Console.WriteLine("{0} in {1}",

我在Windows7上使用带c#的MonoDevelop2.8.2。我正在尝试编写一个函数来获取一个目录和所有子目录中的所有文件

当我这样做的时候

string curdir = Directory.GetCurrentDirectory();
foreach (string file in Directory.EnumerateFiles(".", "*", SearchOption.AllDirectories))
{
    Console.WriteLine("{0} in {1}", file, curdir);
}
在调试模式下,只找到可执行文件的名称。但是,如果我直接通过windows资源管理器(即双击)运行可执行文件,则会显示所有文件(共9个)。以管理员身份运行monodevelop无效

这在VisualStudio中正常工作,发生了什么?我已经尝试过构建clean并验证所检查的目录是否相同(如果可执行文件实际上是单独的,那么程序将不会运行,它需要6个dll!)


编辑:删除自由参数

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

毫不奇怪,在可执行文件之外,它包含的文件很少:)

所以,也

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

编辑如果输出目录实际包含的文件比列出的多,则您可能已经在项目的调试选项中指定了特定的工作目录。你可能想检查它,或者只是不加更改地应用上面的项目:)

你从哪里得到
dir
呢?@JaredPar哦,如果你找到了这个问题的解决方案,它只是“硬编码”而已?你还记得这是否跳过了子文件夹吗?@mrunleadded我放弃了monodevelop,这很糟糕我已经用GetCurrentDirectory()检查过了,而且两种情况下检查的目录都是相同的。Mmm。在这种情况下,这必须归因于运行时版本的差异。双击时,默认情况下将使用MS.Net、Monodevelop和Mono运行时。能否尝试使用Monodevelop中的.Net framework进行调试(可能需要最新版本的Monodevelop)