Hi - thanks for posting.
Usually this is caused by an inconsistency between your Visual Studio build configuration (taken from the dropdown box at the top of your IDE) and the default build configuration specified in your .proj file. I don't think its possible that this issue is caused by your post build step, as NCrunch will disable post build events by default.
If you take a look at the top of one of your failing project files, you'll see something like this:
<PropertyGroup>
...
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
...
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'DEBUG|AnyCPU' ">
<OutputPath>bin\</OutputPath>
...
</PropertyGroup>
The topmost conditions (Configuration and Platform) are used to set what is considered to be MSBuild's default build configuration for the project. When Visual Studio builds a project file, it will inject the $(Configuration) and $(Platform) properties into MSBuild, overriding the defaults supplied in the project file. This is the primary function of the 'Build Configuration' dropdown box in your IDE's toolbar - basically this little option controls which values the $(Configuration) and $(Platform) properties should be set to.
Now, normally this isn't a problem, because most people will set up their build configuration under names like 'RELEASE' and 'DEBUG', which have already been coded into the project file. But lets just say we're working on a solution where we create a new build configuration - something like 'DEBUG-X86'. Inside this build configuration, we tell Visual Studio to use a $(Platform) of x86. Now when Visual Studio builds the projects, it will always inject a $(Configuration) of 'DEBUG-X86' and a $(Platform) of 'x86'. Odds are you've done some configuration on the project file itself, so you'll find in there that the 'DEBUG' PropertyGroup specified in the project file has been renamed to 'DEBUG-X86'. But if you look in the .proj file, you'll still see something like this:
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
Basically, the 'Default' build settings in the project file haven't changed, but the available configuration sets in the project file HAVE changed. The project has been configured to build with a default setting that doesn't exist - which is why it bombs out in NCrunch, as NCrunch will always use the default build configuration from the project file unless told otherwise.
So in conclusion, your project files are corrupt. You've been surviving because you likely only build your project via Visual Studio, and Visual Studio injects build properties that allow MSBuild to continue to function with corrupt files. You'll notice that if you try and run MSBuild against any of your projects using the command line, it will fail in the same way.
The good news is that this is really easy to fix. All you need to do is edit your project files and align the default configuration and platform properties to fit them with what you'd normally expect Visual Studio to inject. For example:
<Configuration Condition=" '$(Configuration)' == '' ">DEBUG-X86</Configuration>
<Platform Condition=" '$(Platform)' == '' ">X86</Platform>
I hope this solves the problem for you. If not, then I'm barking up the wrong tree and I might need a closer look at your build customisations - but I'm sure this is fixable :)