I've set the TargetFramework = net8.0 custom build property for all the projects, but now every project build fails with:
System.Exception: An exception was thrown in the remote environment: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> nCrunch.Common.UserException: Errors occurred while trying to load the project file:
Assets file 'D:\Projects\github\dylanbeattie\efcore\artifacts\obj\nCrunchTemp_fd77ce7d-d83c-44de-ad24-59161fbb704f\project.assets.json' not found. Run a NuGet package restore to generate this file.
at nCrunch.Compiler.ComponentAnalysisContext.()
at nCrunch.Compiler.ComponentAnalysisContext.AnalyseComponentBuild()
at nCrunch.Compiler.RemoteBuildRunner.AnalyseComponentBuild(ComponentLoadParameters parameters)
--- End of inner exception stack trace ---
I've found a previous issue (https://forum.ncrunch.net/Default.aspx?g=posts&t=2590&) referencing this error, but I can't find any reference to BaseIntermediateOutputPath anywhere in the EF Core source code, other than in a Powershell script which I'm pretty sure doesn't affect the NCrunch build process.
Is there another property or build setting I should be looking for? It sounds like exactly the same issue as previously but with a different underlying cause.
This particular solution seems to use an interesting override somewhere that forces the projects to share a common output directory based on the name of the project file. We don't have a way to directly handle this override in NCrunch, so the override will need to be modified to use the ProjectName property instead of the MSBuild project name property.
I'm having some trouble finding the specific override that's responsible for this behaviour. As is normal for many of the big public MS projects, there are a lot of build customisations in here... None of which would have been engineered around NCrunch's constraints.
How serious are you about getting NCrunch working on this solution? I think it's unlikely that the tests within will have been designed with our constraints in mind. It's likely to take quite an investment of time to get this up and running.
I had a feeling the answer might be something like that.
Don't worry about it, I'll keep playing around. I'm looking to add one very small feature, and EF Core is a very big project, so probably not worth spending the time on it. I just really miss the little coloured dots next to every line of the code...