Hi!

I noticed that *.resx files aren't handled properly by the <solution> task.
They produce ArgumentNullException from inside ResGenTask:

---------------------------------- 
            System.ArgumentNullException: Value cannot be null.
Parameter name: path1
   at System.IO.Path.Combine(String path1, String path2)
   at NAnt.DotNet.Tasks.ResGenTask.GetOutputFile(String filename) in
X:\work\nant\src\NAnt.DotNet\Tasks\ResGenTask.cs:line 271
   at NAnt.DotNet.Tasks.ResGenTask.ExecuteTask() in
X:\work\nant\src\NAnt.DotNet\Tasks\ResGenTask.cs:line 174
   at NAnt.Core.Task.Execute() in X:\work\nant\src\NAnt.Core\Task.cs:line
142
   at NAnt.VSNet.Tasks.Resource.CompileResx() in
X:\work\nant\src\NAnt.VSNet\Resource.cs:line 233
   at NAnt.VSNet.Tasks.Resource.Compile(ConfigurationSettings cs, Boolean
bShowCommands) in X:\work\nant\src\NAnt.VSNet\Resource.cs:line 53
   at NAnt.VSNet.Tasks.Project.Compile(String strConfiguration, ArrayList
alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands)
in X:\work\nant\src\NAnt.VSNet\Project.cs:line 298
   at NAnt.VSNet.Tasks.Solution.Compile(String strConfiguration, ArrayList
alCSCArguments, String strLogFile, Boolean bVerbose, Boolean bShowCommands)
in X:\work\nant\src\NAnt.VSNet\Solution.cs:line 257
   at NAnt.VSNet.Tasks.SolutionTask.ExecuteTask() in
X:\work\nant\src\NAnt.VSNet\Tasks\SolutionTask.cs:line 112
   at NAnt.Core.Task.Execute() in X:\work\nant\src\NAnt.Core\Task.cs:line
142
   at NAnt.Core.Target.Execute() in
X:\work\nant\src\NAnt.Core\Target.cs:line 137
   at NAnt.Core.Project.Execute(String targetName) in
X:\work\nant\src\NAnt.Core\Project.cs:line 613
   at NAnt.Core.Project.Execute() in
X:\work\nant\src\NAnt.Core\Project.cs:line 596
   at NAnt.Core.Project.Run() in X:\work\nant\src\NAnt.Core\Project.cs:line
637
-----------------------------------

looks like <solution> doesn't provide "BaseDirectory" and "ToDirectory"
properties for ResGenTask.
I found that anything other than null which is a correct path will do for
these parameters, so I made a simple change:

Index: Resource.cs
===================================================================
RCS file: /cvsroot/nant/nant/src/NAnt.VSNet/Resource.cs,v
retrieving revision 1.10
diff -u -r1.10 Resource.cs
--- Resource.cs 23 Jul 2003 17:24:14 -0000 1.10
+++ Resource.cs 12 Aug 2003 18:50:06 -0000
@@ -226,6 +226,8 @@
             rt.Output = strOutFile;
             rt.Verbose = false;
             rt.Project = _nanttask.Project;
+            rt.BaseDirectory = Path.GetDirectoryName(strInFile);
+            rt.ToDirectory = Path.GetDirectoryName(strInFile);

             rt.Project.Indent();
             rt.Execute();

Can anyone commit it to CVS? Also, can you please take a look at my previous
patch for case sensitivity problems?

Jarek



-------------------------------------------------------
This SF.Net email sponsored by: Free pre-built ASP.NET sites including
Data Reports, E-commerce, Portals, and Forums are available now.
Download today and enter to win an XBOX or Visual Studio .NET.
http://aspnet.click-url.com/go/psa00100003ave/direct;at.aspnet_072303_01/01
_______________________________________________
nant-developers mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-developers

Reply via email to