qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Todd Herman <t...@apx-labs.com>
Subject RE: Issue executing code on different machine
Date Mon, 16 Apr 2012 18:08:05 GMT
I checked all that.  I spend a couple days going through everything and inspecting every file
in the project.  Not being a C++ developer made this a little more difficult but I finally
found something in the org.apache.qpid.messaging project, which is part of the dotnet binding
solution.  In Properties->Linker->Debugging, "Generate Debug Info" and "Debuggable Assembly"
were both set to "Yes" for the release version of the binding library.  I admit that I do
not know what these do exactly but I didn't think it made sense to have anything "debug" related
active for a release version.  I set them both to "No" and recompiled.  Doing this resolved
the "side-by-side" issue that I was having.

-----Original Message-----
From: Chuck Rolke [mailto:crolke@redhat.com] 
Sent: Monday, April 16, 2012 10:53 AM
To: users@qpid.apache.org
Subject: Re: Issue executing code on different machine

Please check again which files you have copied to your target machine. From the Application
Context error message the file is bin\Debug\org.apache.qpid.messaging.dll which is Debug and
not Release. 

Also check which assemblies your application has referenced. This is made more difficult by
the SxS services so you can't necessarily tell what's going on just by static analysis. Further
tools to use are from a Visual Studio Command Prompt : 
* depends <dll or exe file>. This shows some of the static linkage of DLL files. 
* sxstrace understands dynamic bindings and the SxS stuff. See http://blogs.msdn.com/b/junfeng/archive/2006/04/14/576314.aspx


----- Original Message -----

> From: "Todd Herman" <todd@apx-labs.com>
> To: users@qpid.apache.org
> Sent: Friday, April 13, 2012 10:54:36 AM
> Subject: Issue executing code on different machine

> I compiled the latest version of the c++ qpid client/broker (from the 
> repository). I compiled it as a release version, not debug. I then 
> compiled the dotnet binding (org.apache.qpid.messaging.dll) also as 
> release. Everything works great and my code, using that dll, runs fine 
> on the development machine. For the record, I am compiling everything 
> in Visual Studio 2010.

> Now, I move my code (and all required files) to a different machine.
> When the code tries to use the org.apache.qpid.messaging.dll my 
> application crashes and I see this in the event log:

> Activation context generation failed for "C:\Programming\APX-LABS 
> SVN\Pvision_Server\com.apx-labs.components.Windshear\bin\Debug\org.apache.qpid.messaging.dll".
> Dependent Assembly
> Microsoft.VC90.DebugCRT,processorArchitecture="x86",publicKeyToken="1fc8b3b9a1e18e3b",type="win32",version="9.0.21022.8"
> could not be found. Please use sxstrace.exe for detailed diagnosis.

> Why is code compiled in VS 2010 as a release (not debug) using an 
> older debug MSVC file? Any suggestions on what I can do to overcome 
> this?

> Description: Description: Description:
> C099A092-D672-44AE-BE50-B9C847BC176F
> Todd Herman
> Senior Software Engineer

> APX Labs
> 2350 Corporate Park Drive, Ste. 510 | Herndon, VA 20171
> m: 703-489-8761 | www.apx-labs.com | @APXLabs
View raw message