title: Visual Studio 2017 is building project over and over again
body: <p>I have a big solution (~ 450 projects), where some projects are building over and over again, although I haven't changed anything.</p>
  
  <p>When I change build output verbosity to <code>diagnostic</code> it says:</p>
  
  <blockquote>
    <p>Project 'ProjectA' is not up to date. Missing input file 'C:\Src\Project.Core\Bin\Release\ProjectB.dll'</p>
  </blockquote>
  
  <p><code>ProjectA</code> dependes on <code>ProjectB</code> and I'm building configuration <code>Debug</code>, so why is Visual Studio checking for the file <code>ProjectB.dll</code> in the <code>Release</code>-folder? <code>ProjectB.dll</code> gets built and copied in the correct folder (debug)!</p>
  
  <p>The output path is the same for every project (c# and c++):</p>
  
  <pre><code>&lt;OutputPath&gt;$(SolutionDir)Bin\$(Configuration)\&lt;/OutputPath&gt;
  </code></pre>
  
  <p>This is just an example. Multiple projects in my solution have this weird behavior. Seems like the c++ projects are causing this, but I have no clear evidence.</p>
  
  <p>Here are my Process Monitor analysis of the file accesses:</p>
  
  <p><a href="https://i.stack.imgur.com/VQNDW.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/VQNDW.png" alt="enter image description here"></a></p>
  
  <p><strong>UPDATE 1:</strong></p>
  
  <p>ProjectA (C# project) references ProjectB (C++ project) using a <code>ProjectReference</code>:</p>
  
  <pre><code>&lt;ProjectReference Include="..\..\ProjectB.vcxproj"&gt;
     &lt;Project&gt;{F2F4C146-8A98-432B-BB9F-A06C4B4162CF}&lt;/Project&gt; 
     &lt;Name&gt;ProjectB&lt;/Name&gt;
  &lt;/ProjectReference&gt;
  </code></pre>
  
  <p><strong>UPDATE 2:</strong></p>
  
  <p>There's this setting for .NET Core projects:</p>
  
  <p><a href="https://i.stack.imgur.com/Dyiiw.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/Dyiiw.png" alt="enter image description here"></a></p>
  
  <p>Is there something similar for projects targeting .NET Framework?</p>
  
  <p><strong>UPDATE 3:</strong></p>
  
  <p>Seems like the code for the <code>FastUpToDateCheck</code> for C#-projects is in the <code>csproj.dll</code> assembly. Since it's a native assembly, I can't look into the code. That's a pity.</p>