更新源时,Visual Studio/MSBUILD不会更新.lib文件

Ale*_*tof 11 msbuild visual-studio-2010

我有一个带有库项目的Visual Studio解决方案让我们调用它libFoo,还有一个可执行项目 - 让我们调用它Bar依赖于它libFoo.

例如,当我改变libFoo/bar.cpp并尝试构建时,libFooVisual Studio会编译我的bar.cpp文件,但不会重新生成库libFoo.lib,说它已经是最新的.

我检查了系统时钟.我还验证了bar.obj文件的修改时间实际更新,并且库比obj更旧.但它仍然没有重新创建库.

实际的解决方案实际上包含大约100个项目,其中一些是库,其中一些是可执行文件.问题发生在我的3名团队成员的计算机上.其余的不受影响.我们不知道它为什么会发生,以及如何解决它......或者天气可能会发生在其他团队成员身上.

我无法通过使用库和依赖于它的可执行文件创建自己的小型解决方案来重新生成它.所以我认为这是环境问题和我们的解决方案/项目文件问题的某种组合.

谢谢,亚历克斯.

编辑

该解决方案是在Visual Studio 2010上创建的,并且在VS2010上开发了多年,直到我们开始使用VS2012.对于同时安装了VS2010和VS2012的用户,会出现问题.该解决方案现在是VS2012解决方案,项目使用VS2010平台工具包.

当我们开始使用VS2012时,我们的团队迁移了解决方案,但我们将所有C++项目的"平台工具包"保留为VS2010,以允许我们的代码与仍使用VS2010的其他团队兼容.

谷歌没有透露任何合理的解决方案.虽然它确实揭示了其他人也遇到类似问题的事实.

Ale*_*tof 1

看来我们也遇到了和提问者同样的问题。Microsoft Connect 上还有一个错误报告

简而言之 - 我们的中间文件夹与某些配置上的 %temp% 文件夹相同。我们通过修改所有 Visual C++ 项目的中间文件夹解决了该问题。