Remco;18600 wrote:How many solutions do you use NCrunch on? Are you hopping between many projects very often?
Lots, over time - 20, perhaps?
I probably work on 6-8 regularly.
I have three open in different instances of VS at the moment, 5 would probably be the most.
Remco;18600 wrote:Do you often need to ignore and then unignore specific projects as part of your workflow?
No, it's mostly about ignoring projects which are never going to be relevant - usually utilities which depend on all the libraries in the solution but which are not themselves unit-tested.
Remco;18600 wrote:Are the projects you're ignoring unable to build using NCrunch? Or are you doing this for optimisation?
It's optimisation - I don't want to see stuff being buit/copied unnecessairly, and NCrunch seems to unroll dependences somehow, so one can see a lot of copies of the same libraries in the working space - presumably because they're depended on by lots of different components? I'm not complaining about that, but I don't want any of it to happen on behalf of a utility I never wanted NC to bother itself with.
Remco;18600 wrote:Can you confirm which colour scheme you're using? (grey-on-blue or light-grey-on-blue doesn't sound normal)
I'm not using any colour scheme that I'm aware of. It's possible that it's only the disabled projects that are really grey - maybe the non disabled ones are actually black. The "blue" is a sort of light steel blue - I can't paste an image in here.
Remco;18600 wrote:
Ignoring a project is a serious change under NCrunch. The intention behind this setting is that you'll likely use it when you introduce NCrunch to a solution and then probably never again. An important reason for why it's buried in the configuration is that it's a serious setting that can permanently break the solution if the user doesn't know what they're doing, as ignoring a project will cause any other project depending on it to fail.
That sounds like the effect I want. But the particular solution I'm looking at right now had NCrunch "introduced to it" when you started the company and has been joined at the hip ever since. Since then many, many projects have come and gone (or at least, been unloaded) - many/most of them want to be NCrunched, quite a few don't. There are currently 23 projects in the solution and 7 of them are ignored.
Remco;18600 wrote:
My fear is that if it's made more accessible, new users will treat it like the ignored tests feature, then become confused when everything stops working. Normally you shouldn't need to ignore a project unless for some reason NCrunch can't build it. I'm wondering if we're instead looking at a performance issue rather than a UX one?
I'll also add that it should be possible to select multiple projects in the UI and change the setting for all of them at once. This will prevent needing to wait for the engine to restart after each individual change. You can also turn off the engine before changing the settings to prevent it needing to restart while making adjustments.
The multiple project thing is helpful and I didn't know that, thanks.
But as for if this is a performance problem: I absolutely 100% consider that copying a project and building it when I didn't want it copied or built is a performance disaster. Every single cycle of CPU, byte of cache-washing and sector of disk used in such an activity is 100% wasted, and if my crappy little utility is dependent on an great big tree of libraries it's going to happen over and over and over again as I work on those libraries. If I'm waiting while NC says "build in progress" and I go and look at the activity queue and see a bunch of projects that are irrelevant in there then I want to stop them being built.
But anyway, it's not a big deal, and I have spent more time writing these two posts than I shall ever spend disabling projects, so I cannot advance a very honest argument about wasted time...
Thanks!