Okay, this is a wild guess but the filename nant.log makes me wonder.
Try changing the nant.exe.config file to use a hard coded path for the
log file (something with everyone permissions), it may be trying to
create the log file under the vss directory (C:\Program Files\Microsoft
Visual Studio\VSS\data\loggedin\).


-----Original Message-----
From:   Erick Thompson
Sent:   Wed 9/3/2003 2:14 PM
To:     [EMAIL PROTECTED]
Cc:     
Subject:        [Nant-users] Running NAnt from ASP.NET
I'm attempting to get NAnt to run from an ASP.NET application. I have a
build file that works correctly from the command line, but when I
execute it, I get an error in the VSSGET task (visual source safe). I've
turned impersonation on, and have tried running ASP.NET as the local
admin. Neither one works, so I don't think it's a permissions issue. The
task that fails is

<vssget 
        user="nant" 
        password="nant" 
        localpath="${solutionRoot}"
        recursive="true"
        replace="true"
        writable="false"
        dbpath="C:\Program Files\Microsoft Visual
Studio\VSS\srcsafe.ini"
        path="$/NBR Website/"
/>

and the error is

c:\inetpub\NBRWeb.build.xml(33,4): Failed to open database:

NAnt.Core.BuildException: c:\inetpub\NBRWeb.build.xml(33,4): Failed to
open database ---> System.Runtime.InteropServices.COMException
(0x8004D727): Unable to open user login file C:\Program Files\Microsoft
Visual Studio\VSS\data\loggedin\nant.log.

at SourceSafeTypeLib.VSSDatabaseClass.Open(String SrcSafeIni, String
Username, String Password)
at NAnt.Contrib.Tasks.SourceSafe.BaseTask.Open()

--- End of inner exception stack trace ---
at NAnt.Contrib.Tasks.SourceSafe.BaseTask.Open()
at NAnt.Contrib.Tasks.SourceSafe.GetTask.ExecuteTask()
at NAnt.Core.Task.Execute()
at NAnt.Core.Target.Execute()
at NAnt.Core.Project.Execute(String targetName)
at NAnt.Core.Tasks.CallTask.ExecuteTask()
at NAnt.Core.Task.Execute()
at NAnt.Core.Target.Execute()
at NAnt.Core.Project.Execute(String targetName)
at NAnt.Core.Project.Execute()
at NAnt.Core.Project.Run()

I'm sure what is causing this problem. As I said, the build works fine
from the command line. The code I'm using to execute NAnt from ASP.NET
is

Process nantCommand = new Process();
nantCommand.StartInfo.UseShellExecute = false;
nantCommand.StartInfo.FileName = @"nant.exe";
nantCommand.StartInfo.WorkingDirectory = @"c:\inetpub\";
nantCommand.StartInfo.Arguments = @" -v+ -f:NBRWeb.build.xml";
nantCommand.StartInfo.RedirectStandardOutput = true;

nantCommand.Start();
string res = nantCommand.StandardOutput.ReadToEnd();
results.Text = res.Replace("\r\n", "<p>");
nantCommand.WaitForExit();

Any ideas?

I'm also considering calling NAnt direction from the ASP.NET
application, instead of spawning off another process. If anyone has done
work like this, I'd love to see it.

Thanks,
Erick


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Nant-users mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/nant-users



<<winmail.dat>>

Reply via email to