Hi, thanks for sharing this issue.
There are two mechanisms that are likely tripping you up here:
Config files: NCrunch stores these adjacent to your project files by default, unless configured otherwise by changing
the project config file storage path setting.
Loading of projects: To integrate with the build system, NCrunch needs to do some tricky stuff inside the project directory when it loads the project. This involves making a modified temporary copy of the project file and calling a number of MSBuild steps to learn about the structure of the project and its various dependencies. This is the cause of the nCrunchTemp files that you've identified. Unfortunately, the build steps involved generally create a number of derived files underneath the obj directory. The nature of these derived files depends on the version of the toolset you're working with (MS change them all the time). Unfortunately we don't have a way to perform this load step outside of your project directory, as all the data acquired during project load needs to come from the project directory.
I think the best move here is to
educate dotnet watch on which files it should respond to. If possible, I would suggest instructing it not to respond to file system changes inside the obj directory.