Thanks – I’ve made some progress, but am still a bit puzzled. I’ve found I can execute regasm via the exec task, if I set the working directory to where it resides. The environment already has “C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322” in PATH so I’m somewhat surprised.  In a nutshell, this is part of a registry cleanup I perform before we build. The code below does work:

<foreach item="File" property="filename">

                          <in>

                                     <items>

                                                  <include name="${clean.path}\**\Work\APPStandardVB.NET\**\APPStandardVB.NET.dll"/>

                                      </items>

                          </in>

                          <do>

                                      <exec program="regasm" workingdir="C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322"

                                                  commandline = "/nologo /tlb /u  ${filename}" />

                          </do>

</foreach>

 

I still can’t access regasm as a task though. Perhaps this info will help.


From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Bonio Lopez
Sent: Tuesday, August 29, 2006 8:22 PM
To: nant-users@lists.sourceforge.net
Subject: Re: [NAnt-users] Problem using regasm task

 

Hi,

Do you use any firewall software? Sometimes it blocks attempt of one app to launch other one.

May be try to write a simple .NET app

Process.Start(path\regasm.exe) and see what happens.

HIH

PS. I can use regasm task without problems

 


From: Carl Malikowski [mailto:[EMAIL PROTECTED]
Sent: Mittwoch, 30. August 2006 00:44
To: Bonio Lopez; nant-users@lists.sourceforge.net
Subject: RE: [NAnt-users] Problem using regasm task

Thanks to both you and Gert for responding, but no luck .I modified the Nant.exe.config file and changed the default to an explicit value:

It was: <platform name="win32" default="auto">

I tried:  <platform name="win32" default="net-1.1">

And also:  <platform name="win32" default="net-2.0">

 

 I double checked to make sure what the current framework was set to before calling the regasm(I echoed the value of the property before calling the task) and it was fine:

[echo] net-1.1

And

[echo] net-2.0

 

 In both cases, RegGasm resides in the folder:

‘C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\RegAsm.exe

'C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\RegAsm.exe

 

I can also call RegAsm.exe from a cmd prompt without any difficulity. As I mentioned earlier, I tried to call it using the exec task, but would get the same error message as indicated below.

 

I installed .NET framework 2.0 SDK as Gert suggested and, since the NAnt.exe file has the default set to “auto” for win32, I installed .NET framework 1.1 SDK as well.

 

Although the version changes within the path listed in the error message, I’m still getting the same error:

 

'C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\regasm.exe' failed to start.:

NAnt.Core.BuildException: 'C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\regasm.

xe' failed to start. ---> System.ComponentModel.Win32Exception: The directory name is invalid

   at System.Diagnostics.Process.StartWithCreateProcess(ProcessStartInfo startI

fo)

   at System.Diagnostics.Process.Start()

   at NAnt.Core.Tasks.ExternalProgramBase.StartProcess()

   --- End of inner exception stack trace ---

   at NAnt.Core.Tasks.ExternalProgramBase.StartProcess()

   at NAnt.Core.Tasks.ExternalProgramBase.ExecuteTask()

   at NAnt.Contrib.Tasks.RegasmTask.ExecuteTask()  

   at NAnt.Core.Task.Execute()

   at NAnt.Core.TaskContainer.ExecuteChildTasks()

   at NAnt.Core.TaskContainer.ExecuteTask()

   at NAnt.Core.Task.Execute()

   at NAnt.Core.Tasks.LoopTask.ExecuteChildTasks()

   at NAnt.Core.Tasks.LoopTask.DoWork(String[] propVals)

   at NAnt.Core.Tasks.LoopTask.ExecuteTask()

   at NAnt.Core.Task.Execute()

   at NAnt.Core.Target.Execute()

   at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies)

   at NAnt.Core.Tasks.CallTask.ExecuteTask()

   at NAnt.Core.Task.Execute()

   at NAnt.Core.Target.Execute()

   at NAnt.Core.Project.Execute(String targetName, Boolean forceDependencies)

   at NAnt.Core.Project.Execute()

   at NAnt.Core.Project.Run()

 

I must admit, I’m stumped….

Carl

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
NAnt-users mailing list
NAnt-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nant-users

Reply via email to