title: x64 build: error MSB8013: This project doesn't contain the Configuration and Platform combination of Debug|Win32
body: <p>I'm trying to get a pure x64 build running for a complex build with many solutions (some for CI, some for devs) and hundreds of project and have run into "error MSB8013: This project doesn't contain the Configuration and Platform combination of Debug|Win32"</p>
  
  <p>I've reduced it to a simple configuration:</p>
  
  <ul>
  <li>Solution A contains Project X &amp; Project Y. Project X has a <em>project
  reference</em> to Project Y. </li>
  <li>Solution B contains also contains Project X.</li>
  </ul>
  
  <p>None of the projects or solutions contain a Win32 platform - it's been deleted.</p>
  
  <p>When I build solution B (as x64), I receive</p>
  
  <blockquote>
    <p>error MSB8013: This project doesn't contain the Configuration and
    Platform combination of Debug|Win32</p>
  </blockquote>
  
  <p>The error message sometimes contains additional information:</p>
  
  <blockquote>
    <p>This error may also appear if some other project is trying to follow a
    project-to-project reference to this project, this project has been
    unloaded or is not included in the solution, and the referencing
    project does not build using the same or an equivalent Configuration
    or Platform.</p>
  </blockquote>
  
  <p>The problem is the referencing project <strong>does</strong> "build using the same or an equivalent Configuration or Platform."</p>
  
  <p>Looking at the msbuild diagnostic, project Y is being built because project X contains a project reference to it. But the configuration and platform properties are being deleted just before project Y is built:</p>
  
  <pre><code>1&gt;Task "MSBuild" (TaskId:28)
  1&gt;  Removing Properties: (TaskId:28)
  1&gt;    Configuration (TaskId:28)
  1&gt;    Platform (TaskId:28)
  </code></pre>
  
  <p>As a result Microsoft.Cpp.Default.props kicks in and sets these to Debug|Win32:</p>
  
  <pre><code>1&gt;Task "Message" (TaskId:11)
  1&gt;  Configuration=Debug (TaskId:11)
  1&gt;Done executing task "Message". (TaskId:11)
  1&gt;Task "Message" (TaskId:12)
  1&gt;  Platform=Win32 (TaskId:12)
  1&gt;Done executing task "Message". (TaskId:12)
  </code></pre>
  
  <p>How can I prevent this and make msbuild pass the chosen configuration &amp; platform?</p>
  
  <p>(I understand the ultimate solution to use NuGet to manage package dependencies, but that isn't feasible in the short term)</p>