VS2010 rebuilds C++ project because of modified irrelevant files

妖精的绣舞 提交于 2019-12-03 13:09:53

I have this same problem, except that the "modified" file in my case is

C:\PROGRAMDATA\SOPHOS\SOPHOS ANTI-VIRUS\CONFIG\CONFIG.BOPS

Microsoft has admitted there is a bug (which will be fixed in the next release) and suggested workarounds

http://connect.microsoft.com/VisualStudio/feedback/details/715572/unexpected-rebuild-of-projects

http://connect.microsoft.com/VisualStudio/feedback/details/649139/vs2010-does-complete-rebuild-based-on-completely-unrelated-file

but none of these has worked for me so far. I'm still trying to muck with my

C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\Platforms\Win32\Microsoft.Cpp.Win32.targets

file and add something like the following to my property sheets

<ItemGroup>
  <ClNoDependencies Include="C:\PROGRAMDATA\SOPHOS\SOPHOS ANTI-VIRUS\CONFIG\CONFIG.BOPS"/>
</ItemGroup>

but I have had no luck so far. Perhaps you can get this work-around to work for you? (Let me know if it does!)

Jeremy Walker

We had the same problem with the Sophos CONFIG.BOPS file. We have a large team and our solution has 80+ projects, so the workaround described by others was unappealing to us. I took an approach that has worked beautifully. Some may say that it's a total hack, which I'll admit it is, but it's incredibly simple and it works for now until Microsoft fixes this.

I wrote a tiny desktop tray app in C# that monitors the CONFIG.BOPS file, and whenever the timestamp changes, it sets it back to an old date using File.SetLastWriteTime without modifying the file contents. The app must be run as administrator on Windows 7, but that's fine for us as our staff all has admin rights to their PCs. We don't have the NVDRSDB0.BIN problem, but I suspect it could work for that case as well.

I was able to get rid of this problem by adding C:\PROGRAMDATA\NVIDIA CORPORATION\DRS\ to my user property sheet VC++ Directories/Exclude Directories.

To edit this file, open View->Property Manager it will be under every project/configuration.

If you don't want to do this system wide you can create a new property sheet and add it just to the projects you need to set it for. You can multi-select all the projects you need this set for in the Property Manager and right click->Add New property Sheet.

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!