我正在将一个应用程序从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.Combine
或Path.DirectorySeparator
这样的方法来解决这些问题