Solutions    |    Downloads    |    License    |    Documentation    |    Training    |    Support    |    Customers    |    About Us

NServiceBus 32-bit (x86) Host Process

Last Updated: Dec 19, 2012 10:58AM IST

NServiceBus is an “Any CPU” framework.  It doesn't have an 32-bit or 64-bit specific code.  This makes it very easy to transition between 32-bit and 64-bit operating systems.  Unfortunately, not all assemblies are or even can be compiled using the default “Any CPU” architecture.
In many, if not most cases, this is related to legacy systems that have 32-bit specific code for platform interop with native C libraries, etc.

If you use the default host (NServiceBus.Host) your application will always load in 64-bit (x64) mode if you’re on a 64-bit OS or in 32-bit (x86) mode for a 32-bit OS.  Again, this is typically not a problem. 
But if there are assemblies or other libraries containing 32-bit code that must be invoked and loaded into the process, we’ve got a problem—a BadImageFormatException problem.

Beginning NServiceBus v3, there are two specific versions of the NServiceBus Host.  One is the default “Any CPU” version.  The second is called NServiceBus.Host32.exe. 
This will allow users running a 64-bit OS to run a 32-bit NServiceBus process thus allowing the execution of 32-bit binaries/code without having to resort to workarounds such as corflags.exe which instruct the .NET Framework to run in 32-bit mode.

And here are links to the NuGet packages for each one of them:

About NServiceBus    |    Contact Us    |    Privacy    |    Follow us on:   
Copyright 2010-2013 NServiceBus. All rights reserved
NSB_Y@yahoo.com
http://assets1.desk.com/r1046ffeaa2233e531563a32d7edef6677d8a78b5/javascripts/
nservicebus
Loading
seconds ago
a minute ago
minutes ago
an hour ago
hours ago
a day ago
days ago
about
true
Invalid characters found
/customer/portal/articles/autocomplete
There was an error contacting Get Satisfaction
View All
0
discussions
replies
Questions
Ideas
Problems
Praise