Hi Nayan,
Thanks for posting.
Unfortunately, this is the one file that we cannot ever move.
The NCrunchTemp files are used by NCrunch during the loading of projects. This involves loading the project XML into MSBuild, and executing build targets within the standard MS platform (and 3rd party tools if they're used) to gain information about the project and its dependencies.
The entire platform and all other build targets are designed under the assumption that the project file is collocated with its source files. This means it is impossible to interrogate the platform for information on the project after it's been moved out of its location. It also isn't possible for us to use the project file in its original form, and MSBuild cannot execute targets in a project file that doesn't exist on disk. So basically we're boxed in by technical limitations with no other feasible options.
A warning about using a FileSystemWatcher targeting the project file directory: VS does some crazy stuff in these directories. It takes quite a sophisticated system to identify what is actually a real source file change and what is just noise created from the IDE or associated toolsets. We've had to do this ourselves in NCrunch, and it's been quite a painful process. If you have other options I recommend looking into them.