Build/Test Issues

With CPU architecture x64, hosting strategy x64SatelliteProcess, NCrunch runs in an x86 process

Started by abelb on 4,516 views

Disclaimer: if for some reason I select a (forced) configuration and the process cannot be created with those properties, I would have expected an exception. But that is not the case here.

The settings in the NCrunch configuration are as in the title. My build is AnyCPU. My Windows 7 system is Intel x64. Yet NCrunch runs in x86 satellite processes. Why? Is this a bug or a is it by design?

I would like to be able to run AnyCPU processes in a 64 bit process (memory, default stack depth, pointer size and other things being different then and relevant for my tests).

I noticed this with a StackOverflow exception that wasn't detected by NCrunch (I believe detection is not guaranteed, so no blames there) and showing a popup like the following:

External image

This made me think and I tested the pointer size just to be sure, which turned out to be size 4 (where size 8 would have been 64 bits).
From your link:

Where the test assembly is built to target AnyCPU, NCrunch will then inspect the use cpu architecture NCrunch configuration setting on the test project. If this setting is anything other than AutoDetect, NCrunch will use the platform specified and will consider nothing further.


Just checked. I missed that setting when going over them, thanks. It was set to AutoDetect. Good to know.

Post a reply

Log in to reply.