Visual Studio中/来源时更新MSBUILD不更新.lib文件(Visual Studio

2019-07-18 22:22发布

我有一个库项目Visual Studio解决方案让我们称之为libFoo ,和一个可执行的项目-我们称之为Bar取决于libFoo

当我改变,例如, libFoo/bar.cpp和学尝试建立libFoo那么的Visual Studio编译我的bar.cpp文件,但不会重新生成库libFoo.lib ,说是已经是最新的。

我检查系统时钟。 我也验证了的修改时间bar.obj文件实际上是更新和库比OBJ以上。 但它仍然不会重新创建库。

实际的解决方案实际上是由各地的100个项目,其中有些是图书馆和他们中的一些可执行文件。 发生该问题的我的团队成员3的计算机上。 其余不受影响。 我们不知道为什么会发生,以及如何解决它......或天气可能会发生在其他球队承包商,客人。

我无法通过创建库我自己小的解决方案,并依赖于它的可执行文件重新生产。 因此,我认为,这是一个环境问题的一些组合,并与我们的解决方案/项目文件的问题。

谢谢,亚历克斯。

编辑

该解决方案是在Visual Studio 2010中创建和VS2010在过去几年发展起来的,直到我们开始使用VS2012。 在问题发生的同时具有VS2010和VS2012安装的用户。 该解决方案是一个VS2012的解决方案,现在,项目使用VS2010平台工具包。

当我们开始使用VS2012,我们的团队迁移的解决方案,但我们留下的“平台工具包”为所有的C ++项目是VS2010的,允许与其他球队还在使用VS2010的我们的代码兼容性。

谷歌没有透露任何可能的解决办法。 虽然没有透露其他人也遇到了类似的问题的事实。

Answer 1:

看来,我们也遇到了同样的问题谁问的人这个问题。 还有一个错误报告对微软连接。

为了使事情简短 - 我们中间夹是一样的我们对一些配置%temp%文件夹。 我们通过修改我们所有的Visual C ++项目的中间文件夹中解决了这个问题。



Answer 2:

确保项目特性的“常规\目标名称”和“图书馆\输出文件”的比赛,和他们匹配的所有配置。 这是值得检查上面的“库\命令行”页面还上。



文章来源: Visual Studio / MSBUILD does not update .lib files when sources are updated