我在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!)。
编辑:删除了免费参数
答案 0 :(得分:2)
当从monodevelop IDE以调试模式运行时,当前工作目录为bin/Debug
。
不出所料,它在可执行文件之外包含很少的文件:)
所以,
"."
编辑如果实际的输出目录包含的文件多于列出的文件,您可能已经拥有调试选项中指定的特定工作目录你的项目。您可能想要检查它,或者只是更改上面的项目符号:)