Getting Started
Architecture
NServiceBus
Transports
Persistence
Hosting
ServiceInsight
ServicePulse
ServiceControl
Monitoring
Modernization
Samples

NServiceBus 32-bit (x86) Host Process

Component:
NServiceBus Host

NServiceBus is an "Any CPU" framework. It doesn't have 32-bit- or 64-bit-specific code. This enables transitioning between 32- and 64-bit operating systems. Unfortunately, not all assemblies can be compiled using the default Any CPU architecture. For example, this might be related to legacy systems that have 32-bit-specific code for platform interoperability with native C libraries.

With the default NServiceBus.Host, the application always loads in 64-bit (x64) mode on a 64-bit OS, or in 32-bit (x86) mode on a 32-bit OS. Again, this is typically not a problem.

If assemblies or other libraries containing 32-bit code must be invoked and loaded into a 64-bit process, a BadImageFormatException will be thrown.

There are two specific versions of the NServiceBus Host: the default Any CPU version and NServiceBus.Host32.exe targeting 32-bit.

The second one allows users running a 64-bit OS to run a 32-bit NServiceBus host process, allowing execution of 32-bit binaries/code without resorting to workarounds such as corflags.exe to patch an assembly, which instructs the .NET Framework to run in 32-bit mode.

Links to the NuGet packages: