【发布时间】:2013-03-28 01:41:07
【问题描述】:
C# 中是否有等效于 PHP 的 realpath 用于 UNIX 路径的函数?
我找不到任何东西,从头开始写一个似乎相当 耗时。
我知道GetFullPath,但它有以下问题(对我来说):
- 这是一个正在返回的 Windows 路径,因此如果给定类似
"//foo//../bar///c"的内容,则返回"t:\bar\c"。 - 它会从目录名称中删除空格,因此给定类似
"/foo bar/baz"的内容,返回"t:\foobar\baz"。 - 提供
Console.WriteLine(Path.GetFullPath( "//d/"));甚至无法编译,我得到这个ArgumentExcpetion并带有消息:The UNC path should be of the form \\server\share.
【问题讨论】:
-
Realpath 用于符号链接,据我所知,.NET 旨在在 Windows 操作系统上运行。 Windows 确实“支持”类似于符号链接的东西,但我怀疑他们会在 C# 中支持这一点。所以主要问题是,你真的需要转换符号链接吗?
-
@Anyone 是“故意的”?实际上使用 Unity 我为各种平台编写 C#...
-
@Anyone:我认为 ntfs 自 2000 年以来就支持符号链接。还有硬链接和目录连接。自 2006 年以来的全功能(仅,但非常存在。)