- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在尝试为映射的 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/
我是一名优秀的程序员,十分优秀!