Hi, thanks for the feedback here.
abelb;10824 wrote:
I have read this post (http://forum.ncrunch.net/yaf_postst2170_Visual-Studio-2017-Preview-15-3.aspx) which made me understand it is next to impossible to keep up with the quick release cycle of preview versions of Visual Studio. However, I decided to report this anyway in case it may help you improve your product. This is about VS 2017 Preview 4.
Right now MS are throwing out VS preview releases roughly every week or two. The preview builds are not considered ready for go-live. I try to release new integration work with each version of NCrunch, but would prefer not to let MS's preview releases drive NCrunch's release schedule.
Basic functionality is all fine, no errors, proper reporting, etc etc, all looks very good with version 3.10.0.20.
abelb;10824 wrote:
As you can see from those timings, full build is remarkably slower, while full build in VS is actually faster. If I change anything in the root project, this really starts to add up. Maybe it is time to consider a separate NCrunch server for remote building (currently I have it set up all locally).
The loading and building of projects by NCrunch basically involves NCrunch calling into MSBuild, which then executes a big stack of MS build code to perform the operation. This build code is vastly different between VS2015 and VS2017, and has been the focus of most of the work by MS in the release of .NET Core. It's not a surprise to me that you're finding differences in the performance here between versions of VS.
The overall build time for your solution seems alarmingly high in NCrunch. Are you able to give me any more information about this solution and the distribution of these build times? What kind of 'average' build times do you see per project in the Processing Queue Window? Are you developing on .NET Core or CPS based projects?
abelb;10824 wrote:
Btw, I've often wondered, is it possible to let NCrunch finish a full cycle after it starts a new build + test run? Because currently, if I meanwhile change something in the code (and you can change a lot in 5 minutes), it would continue to rebuild again and again without ever finishing (unless I go for a coffee ;)).
For such a thing to be implemented, NCrunch would need to build and report results for out-of-date code, which is something it's only designed to do if there is an already existing test run that cannot be terminated. I think we need to address your build times.