I have a C# program that is running as a CGI app in IIS on XP Pro SP3. It runs fine until I reference a library assembly class and use it in the program's code. If I run the CGI program by hand it loads and executes. But when it is run by IIS the referenced assembly fails to bind despite it being right in the same directory as the parent executable. Here's the binding log I get:
=== Pre-bind state information === LOG: User = STEVIENEW\IUSR_STEVIENEW LOG: DisplayName = VOEvent, Version=3.0.7.0, Culture=neutral, PublicKeyToken=null (Fully-specified) LOG: Appbase = file://?/C:/Documents and Settings/Robert B. Denny/My Documents/iis/vomsgtst/ LOG: Initial PrivatePath = NULL Calling assembly : MsgChkCGI, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null. === LOG: This bind starts in default load context. LOG: No application configuration file found. LOG: Using machine configuration file from c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\config\machine.config. LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind). LOG: Attempting download of new URL file://?/C:/Documents and Settings/Robert B. Denny/My Documents/iis/vomsgtst/VOEvent.DLL. LOG: Attempting download of new URL file://?/C:/Documents and Settings/Robert B. Denny/My Documents/iis/vomsgtst/VOEvent/VOEvent.DLL. LOG: Attempting download of new URL file://?/C:/Documents and Settings/Robert B. Denny/My Documents/iis/vomsgtst/VOEvent.EXE. LOG: Attempting download of new URL file://?/C:/Documents and Settings/Robert B. Denny/My Documents/iis/vomsgtst/VOEvent/VOEvent.EXE.
The Appbase is correct (though what is the '?' in the URI????? maybe that's a hint). The assembly voevent.dll is definitely right in the same directory (Appbase!) as MsgChkCGI.exe. And if I just double click the exe it stsrts up correctly (and has an error due to a missing CGI environment var, but that's expected).
Anyone know what's going on?