Hi Jeremy, thanks for posting!
You have a couple of options on how you can solve this issue.
The first one is to reduce the number of workspaces by adjusting the engine's configuration. If you set the
max number of processing threads setting to 1, and set the
max test runners to pool setting to something low (perhaps even 0), NCrunch will perform less tasks concurrently and require less workspaces to be built. This is probably the least preferable approach in my view, as the engine will work much slower because of this.
The second one is to reference the libraries from the original (foreground) solution. Normally this isn't recommended with NCrunch, as it breaks workspace isolation, but when done carefully it can be safe. My assumption is that at least a large part of the 12GB does not change regularly and may even be read-only. This means you're unlikely to have issues with file locks or resource conflicts. If you adjust your code to reference these files using the methods on the
NCrunch environment class, you can avoid copying them entirely and everything should run very quickly. If need be, introducing an
override specific to NCrunch in your code may be of use with this approach.
I hope this helps.
Cheers,
Remco