Note that there are some explanatory texts on larger screens.

plurals
  1. POVS2010 rebuilds C++ project because of modified irrelevant files
    primarykey
    data
    text
    <p>As all of us already know VS2010 has got an major upgrade of its build system, which is based on MSBuild.<br> According to MS representatives (see comments in <a href="http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file" rel="nofollow noreferrer">Visual Studio 2010 always rebuild project after hibernation/restart of computer</a>) MSBuild now injects itself into other tools (like C++ compilers, linkers, etc.) to find out the dependencies of a target.<br> One of the drawbacks of such approach is that now <em>your project may be forcedly rebuilt because of modifications in irrelevant files</em> :(<br> In my case it is <code>C:\PROGRAMDATA\NVIDIA CORPORATION\DRS\NVDRSDB0.BIN</code>, which is periodically changed by NVIDIA update service (Windows 7 32-bit). </p> <p>I've discovered that by turning VS2010 options "<em>MSBuild project build output verbosity</em>" and "<em>MSBuild project build log file verbosity</em>" to "<em>Diagnostic</em>".<br> After that I was able to see the cause of the issue in the Build Output Window: </p> <pre><code>Task "CL" (TaskId:55) Read Tracking Logs: (TaskId:55) ..\..\temp\Release\Editor\cl.read.1.tlog (TaskId:55) Outputs for E:\USERS\A.USER.ORG\DEVEL\EDITOR\STDAFX.CPP: (TaskId:55) E:\USERS\A.USER.ORG\DEVEL\TEMP\RELEASE\EDITOR\STDAFX.OBJ (TaskId:55) C:\PROGRAMDATA\NVIDIA CORPORATION\DRS\NVDRSDB0.BIN was modified at 23-Feb-12 12:08:20. (TaskId:55) stdafx.cpp will be compiled. (TaskId:55) ... Tracking command: (TaskId:55) C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin\NETFX 4.0 Tools\Tracker.exe ... stdafx.cpp /clr:nostdlib (TaskId:55) stdafx.cpp (TaskId:55) Done executing task "CL". (TaskId:55) </code></pre> <p>One of the workarounds is to <strong>add the irrelevant files to C++ ignore list</strong>: </p> <pre><code>&lt;ItemGroup&gt; &lt;ClNoDependencies Include="NVDRSDB0.BIN" /&gt; &lt;ClNoDependencies Include="C:\PROGRAMDATA\NVIDIA CORPORATION\DRS\NVDRSDB0.BIN" /&gt; &lt;/ItemGroup&gt; </code></pre> <p>Unfortunately this doesn't help :( And I didn't yet check how this trick works on other PCs, where such files don't exist.</p> <p>So the question remains: <strong>is anybody aware of the working solution for this problem</strong>?</p> <p>I didn't try installing SP1 for VS2010 - according to enthusiast this step doesn't help either.<br> Disabling NVIDIA update service may probably help (it will stop updating the file), but there are or may be other software which cannot be disabled this way (antivirus, other utilities, etc.).<br> See also related questions:</p> <ul> <li><a href="https://stackoverflow.com/questions/2762930/vs2010-always-thinks-project-is-out-of-date-but-nothing-has-changed">VS2010 always thinks project is out of date but nothing has changed</a> (the similar issue seems to be caused by a missing source file)</li> </ul>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload