I don't know why VS barfed on this (building from command line did not). I ran MSbuild manually from command line with and without PerfRun parameter set and got the expected output (i.e. referenced was added to the csc.exe only if PerfRun was 'True').