mac上mono上的路径解释与.net windows版本不同吗



我正在将一个应用程序从windows上的.net翻译成mac上的mono。我发现了一个正在发生的错误,我认为这与mono-mac上反斜杠的解释有关。

Path.GetDirectoryName("Assembly\file.dll")

在返回空字符串的mono for mac上,在返回"Assembly"的.net窗口上。这是正常行为吗?我可以用某种配置更改解释路径的方式吗?或者我需要用正斜杠替换每个反斜杠?

在mono上,您可以使用MONO_IOMAP环境变量来忽略路径(windows不区分大小写,unix区分大小写)和路径分隔符('\'vs'/')等差异

参见http://www.mono-project.com/docs/advanced/iomap/

无论如何,最好的长期解决方案是使用像Path.CombinePath.DirectorySeparator这样的方法来解决这些问题

最新更新