hi, i'm using NAnt to build my 25 projects VS.Net solution (don't ask me why there are so many), I just had problems with the resources file names in my Web project (all the .resx files).
Here is what I got : System.ArgumentException: Illegal characters in path. at System.IO.Path.Combine(String path1, String path2) at NAnt.VSNet.ProjectSettings.GetTemporaryFilename(String fileName) in D:\My Documents\NAnt\nant-0.8.4b2_OK\src\NAnt.VSNet\ProjectSettings.cs:line 142 I looked at the code and found out that it was actually parsing (with a RegExp) the .cs files assiociated with each resource in order to get a classname. The classname would be of use to determine the temporary compiled resource file name. The bug came when this line was in my source code : string l_str_temp = "<div class=\"QuotasGauge\" style=\"WIDTH:" + WIDTH_GAUGE.ToString() + "px;\">"; The regexp then found this : =\"QuotasGauge\" style=\"WIDTH which obviously contains invalid caracters for a file name. I don't why scanning the source files is a good idea, sounds dangerous to me. I locally fixed the code for my needs by forcing the alternative way of determining the compiled resource file name : in function CompileResx() in Resources.cs, just ignore the follwing test if (!StringUtils.IsNullOrEmpty(_dependentFile)) and let the else block with the StringBuilder do the job Can anyone tell me why the sources are scanned, and if this will be fixed (change of behavior or better RegExp) ? By the way, thanks for this great solution task, i'm eager to get a more recent build with assemblyfolders working, as I can only rely on nightly builds because I can't get a CVS client working from where I am... cheers, vincent +,~wzf+,좷o$yyzW(h礅zxm&j{n왨x%Mj{n+-.ǟalb,y+b?+-wv