There’s a technique for diagnosing what’s happening inside msbuild which may help you work out what’s happening here. From a command prompt set an environment variable:
set msbuildemitsolution=1
Once you have run msbuild then this will generate a .metaproj file. This file is what msbuild uses internally but then deletes. You can read it to find out the name of the actual targets are. The Build target is expanded to show what it actually calls. You can then try building the individual targets with the /t flag of msbuild to work out which target is causing the problem.