Hi, I've got 3 machines setup with ncrunch, my local machine that I write code on, and two VM's that I use as build agents for TeamCity. Since most of the time those are sitting idle, I figured I'd set them up as grid nodes so they can help with running tests.
This has actually be great for reasons that I did not expect. Some of the Builds on the Grid nodes failed, and I was able to figure out that there was some minor config issues in the projects that I needed to fix.
The other thing that I'm getting is
NCrunch has detected that compiled assemblie
Quote:s produced by different machines in the grid are not identical at IL-level. This is usually caused by grid machines using different compiler versions.
Microsoft very regularly release updates to the .NET compilers in updates to Visual Studio, and possibly with hot fixes. Ensure all machines in the grid have the same updates installed.
IL differences between assemblies can trigger NCrunch's IL-level impact detection features (enabled by default) as the assemblies have physical differences that the engine detects as code changes. Compiler version inconsistencies also have the potential to produce erratic test and runtime behaviour in extreme situations.
Changing your 'Impact Detection Mode' configuration setting to 'Watch Text' will set NCrunch to avoid using IL comparison for impact detection, reducing the severity of this issue. Note that this will also result in significant loss of impact detection accuracy.
IL contents produced the following hashes across the grid:
(local): 12869121715097317820
WIN11PROBUILD02: 16115415983637522274
WIN11PROBUILD01: 16115415983637522274
I like that the two grid nodes are giving the same result, but my local machine is doing something else. All three are running NCrunch 5.21 (VS extension on local, and Grid on the other two)
All three machines have VS Community 18.5.1 installed.
But I cannot understand why the hash for my local machine is different to the two grid nodes.
And here's why I've put this in feature suggestions rather than general help......
I would love for NCrunch to report all the versions of everything that was used in the build process, so that I can figure out what's different between the machines. It would be even better if NCrunch would be able to tell me what the difference is, but I'm not expecting that. Just some more of a clue as to what is causing the difference.