PDA

View Full Version : WebLauncher ObjectModel problems


Quintus
01-30-2009, 05:44 PM
I'm trying to adapt the WebLauncher project to a build project I've set up. I'm using Visual Studio 2008 and just playing around in a debug environment. Using the sample code for BuildWithConsoleApp I'm able to run my VBP just fine. When I try to use the sample code for BuildWithObjectModel (I'd like to be able to easily view build progress in the browser), however -- I get an "Access violation" exception:

Source Error:

Line 144: VisBuildSvr.Builder bld = new VisBuildSvr.BuilderClass();
Line 145:
Line 146: app.Project.Load(projectFile);
Line 147:
Line 148: // add all macro values as temporary macros


Source File: C:\...\Default.aspx.cs Line: 146

Stack Trace:

[COMException (0x80004005): Access violation.
Exception 0xC0000005 occurred in module C:\WINDOWS\system32\OLEAUT32.dll at address 0x77124C27, offset 0x00004C27.]
VisBuildSvr.IProject.Load(String filename) +0
WebApplication1._Default.BuildWithObjectModel(Stri ng projectFile, String[] names, String[] values) in C:\...\Default.aspx.cs:146
ASP.default_aspx.__Render__control1(HtmlTextWriter __w, Control parameterContainer) in c:\...\Default.aspx:17
System.Web.UI.Control.RenderChildrenInternal(HtmlT extWriter writer, ICollection children) +98
System.Web.UI.Control.RenderChildren(HtmlTextWrite r writer) +20
System.Web.UI.Page.Render(HtmlTextWriter writer) +26
System.Web.UI.Control.RenderControlInternal(HtmlTe xtWriter writer, ControlAdapter adapter) +25
System.Web.UI.Control.RenderControl(HtmlTextWriter writer, ControlAdapter adapter) +121
System.Web.UI.Control.RenderControl(HtmlTextWriter writer) +22
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2558

kinook
01-30-2009, 05:56 PM
http://www.kinook.com/Forum/showthread.php?threadid=3044

Quintus
01-30-2009, 06:08 PM
Visual Build Professional 7.0
Evaluation Version: 15 days remaining
Windows Version: 5.1.2600.3.0
Install path: C:\Program Files\VisBuildPro7
HideConsole.exe version 1.0.0.0
VisBuildCmd.exe version 7.0.0.3
VisBuildPro.exe version 7.0.0.3
VisBuildAct.dll version 7.0.0.5
VisBuildCore.dll version 7.0.0.4
VisBuildDotNET.dll version 7.0.0.2
VisBuildExt.dll version 7.0.0.4
VisBuildMisc.dll version 7.0.0.4
VisBuildMS.dll version 7.0.0.4
VisBuildMS2.dll version 7.0.0.3
VisBuildNet.dll version 7.0.0.4
VisBuildSvr.dll version 7.0.0.5
VisBuildSvr.Interop.dll version 1.0.0.0
VisBuildVCS.dll version 7.0.0.4


The .BLD is unimportant. I know the BLD project works fine (and in fact works fine when building via the GUI, CLI, or ConsoleApp method in the sample project), so any BLD should be fine.

There is no build log because it doesn't get to actually running the build. It fails on the app.Project.Load(projectFile) call with an Access Violation exception.

kinook
01-30-2009, 06:49 PM
Try copying

C:\Program Files\VisBuildPro7\Samples\User Actions\NETAction\bin\Debug\Interop.VisBuildSvr.dl l

to

C:\Program Files\VisBuildPro7\Samples\Misc\WebLauncher\Bin\

Quintus
01-30-2009, 07:23 PM
That seems to have fixed it. Any particular reason for those DLLs to be different?

Quintus
01-30-2009, 07:47 PM
Also... Is there a way to serve up the status of a build in (pseudo) real-time? The WebLauncher sample seems to just dump all the output after the process completes - which makes the progress events seem kind of pointless (in a web environment)

Ultimately, I'd like to be able to have a page that can get the current status of a running continuous integration type setup, although I can presumably do that by dumping out status info to disk periodically and having a web page read that information.

kinook
01-30-2009, 08:12 PM
Originally posted by Quintus
That seems to have fixed it. Any particular reason for those DLLs to be different? We goofed up and didn't get that DLL updated to the final version. It's fixed now in the latest download at http://www.kinook.com/Download/VisBuildProEval.exe

Originally posted by Quintus
Also... Is there a way to serve up the status of a build in (pseudo) real-time? The WebLauncher sample seems to just dump all the output after the process completes - which makes the progress events seem kind of pointless (in a web environment)Add a Response.Flush() call after Response.Write() in the step events.