gpt4 book ai didi

c# - Visual C# Directory.GetDirectories 问题 - "The specified server cannot perform the requested operation"

转载 作者:行者123 更新时间:2023-11-30 22:12:18 25 4
gpt4 key购买 nike

我在尝试为映射的 Mac 目录调用 Directory.GetDirectories 函数时遇到问题。几周前(大约一年),该功能没有任何问题。 Mac 升级到 OS X Mavericks 后,函数调用抛出异常:

The specified server cannot perform the requested operation.

我可以从 Windows 资源管理器毫无问题地访问该目录。知道为什么会这样吗?

这是片段:

if (Directory.Exists(rootDirectory))  // Success here...
{
string[] dirs = Directory.GetDirectories(rootDirectory); // Exception error here!!!
...
}

更新:我能够在有问题的目录 的目录上成功调用“GetDirectories”函数。有问题的目录包含 758 个目录,其下的目录最多包含 ~20 个。我怀疑 758 个目录是否达到了最大数量,但谁知道呢?如果答案比这更明显,我希望不必尝试测试目录计数的上限,但我可能必须这样做才能调试...

谢谢!

最佳答案

您的 C# 代码没问题。您可以尝试将 Directory.GetDirectories 替换为 Directory.EnumerateDirectories(MS 表示 EnumerateDirectories 效率更高),但我怀疑它是否有帮助。

问题出在 OSX 方面。在版本。 10.9 他们用 SMB2 的损坏实现替换了 SMB1,SMB2 目前仅支持一个文件夹中的 32 个文件/子文件夹。 Here's the discussion .

有从 OS X 访问 Windows 共享的变通方法,但反之则不然。在 Apple 修复他们的 OSX 之前,我认为什么都做不了。

关于c# - Visual C# Directory.GetDirectories 问题 - "The specified server cannot perform the requested operation",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19772419/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com