其他分享
首页 > 其他分享> > .net – 从以下符号链接中防止IO.GetDirectories()

.net – 从以下符号链接中防止IO.GetDirectories()

作者:互联网

在使用mono将.net应用程序移植到Linux时,我注意到它的IO.GetDirectories的实现遵循Linux上的符号链接(当我的程序到达/ home / clement / svn / obrowser / tutorial / distrib / tutorial / distrib时,问题变得很明显/教程/ DISTRIB /教程/ DISTRIB /教程/ DISTRIB /教程/ DISTRIB /教程/ DISTRIB /教程/ DISTRIB /教程/ DISTRIB).

我在mono的网站上找不到关于这种行为的任何文档,除了一个小小的论坛帖子之外.

您是否知道防止IO.GetDirectories遵循符号链接的解决方法?

解决方法:

您可以检查File.GetAttributes,符号链接将具有ReparsePoint属性,我使用Windows符号链接和ubuntu 10.10进行了测试.

这不会阻止GetDirectories递归枚举,但你必须自己进行递归.

如果您不需要跨平台支持,您可能需要查看Mono.Unix.UnixDirectoryInfo.

标签:linux,net,io,mono,symlink
来源: https://codeday.me/bug/20190903/1797690.html