4

我们正在制作一个项目以在 Mono/*nix 上的 ASP.Net 中运行

我们的问题是我们在 Windows 上开发,我们只是在 Mono 上经常构建和测试它。所以我们最近在区分大小写的文件名方面遇到了很多麻烦。一切似乎在 Windows 中运行良好,然后我们转移到 Mono 并且它被默默地破坏了。(如,它构建但不会运行或它的一部分不起作用)

当我们在 Windows 上开发时,您会如何建议我检测到这一点?基本上,我们如何让区分大小写的文件名在我们的代码中看起来错误,而代码在 Windows 上运行,但在 *nix 上不运行?

4

2 回答 2

7

您可以做的一件事是使用 MONO_IOMAP 以便 Mono 静默纠正错误并模拟不区分大小写的文件系统:

http://www.mono-project.com/IOMap

您可以用来实际发现问题的另一件事是一个新的“分析器模块”,它会在每次字符串触发 MONO_IOMAP 时记录并告诉您它在代码中的创建位置:

http://twistedcode.net/blog/post/2009/12/21/A-utility-to-help-porting-Windows-NET-applications-to-MonoUnix.aspx

于 2010-01-21T16:01:04.140 回答
0

您可以使用编译器指令来指示您何时为 *nix 系统构建将验证文件路径。

于 2010-01-21T15:57:33.310 回答