[Mono-list] ASP.NET on Mac OS X

Dan Winship danw@ximian.com
Sun, 08 Feb 2004 12:28:21 -0500


> The problem in Mono occurs in the GetConfigFromFileName(...) on line 
> 136 of WebConfigurationSettings.cs.  This method checks to see if 
> "web.config" exists, and then checks to see if "Web.config" exists.  If 
> both exist, it throws an exception, which kills any ASPX in its tracks. 
>   On my Mac OS X machine, only one web.config file exists, but it can be 
> reached with either name because of the aforementioned case sensitivity 
> issue.
> 
> The check that is performed in the code looks at DirectorySeparatorChar 
> to determine if you are on a UNIX machine, and then assumes case 
> sensitivity.  The check probably needs to be changed to exclude Mac OS 
> X from the generated exception.

That's a property of the filesystem though, not the OS. OS X does let
you have UFS or case-sensitive HFS partitions (and OS X Server defaults
to using a case-sensitive filesystem).

If this were a POSIX C program, I'd say that you should stat() both
files and only throw the exception if they have the same st_ino. But I
don't know if you can translate that into C#/.Net.

-- Dan