Visual Studio 2008不断重建

时间:2011-03-17 21:58:26

标签: visual-studio visual-studio-2008 visual-c++

  

可能重复:
  Visual Studio keeps building everything

Visual Studio 2008不断重建整个项目,就像每个实现文件都被修改一样。即使没有修改文件,也会发生这种情况。按行构建按钮两次,整个项目重建两次。这不会发生在另一个盒子上。操作系统是Windows Vista。

这很烦人。什么可能导致这种行为?

这是一个C ++项目。

1 个答案:

答案 0 :(得分:5)

尝试一些想法......

正如@David Paxson在评论中所说,有些语言(例如C#,VB),所有项目看起来都是“内置”的,但编译器会跳过那些不需要构建的项目。很快,即使它们仍然列在输出中。所以它可能只是出现来重建一切。此外,使用C#,Visual Studio有时会连续多次运行该项目,有时它会决定没有明显的理由需要“重建”项目,但这通常只需要几秒钟,除非你有数百个项目

重新启动Visual Studio(甚至完全重启PC)。

执行整个解决方案的“全部重建”以清除所有旧的缓存信息,并确保所有输出文件都是最新的。

如果您使用源代码管理,那么更好的方法是检入所有更改,然后删除旧的源代码文件夹(或更安全,将其重命名,直到您知道不需要它为止) force-再次从源代码管理中获取所有最新的源代码。这意味着你有一个非常干净的起点(干净或重建 - 不幸的是,所有这些都不能完全清除掉一切)。我每隔2-4周执行一次这样做,以确保一切顺利运行并与源代码控制代码完全同步。

如果有任何内容修改了构建中任何文件的日期戳,那么这可能会触发重建所有内容的“需要”。检查您的系统时钟是否设置正确,没有任何源文件的日期戳设置为“将来”的时间,并且没有运行的应用程序可能“触摸”任何源文件。

选中此选项:工具 - >选项>项目和解决方案>构建并运行:“仅在运行时构建启动项目和依赖项”。如果未选中,则VS将尝试每次重建所有项目,而不仅仅是启动项目的依赖项。如果你有一个包含大量不相关项目的大型解决方案,这是一个非常有用的设置选项。

如果每次都不需要构建项目,那么使用Configuration Manager禁用当前构建中的那些项目的构建(或创建“Debug Fast Build”配置,以便您可以在完全重建和部分构建)。或者将不需要经常构建的项目移动到单独的“库”解决方案中,并从您的应用程序的解决方案中引用/链接输出文件(obj或dll),因此只有在编辑代码时才需要重建库。

最后,请确保您正在进行“构建”,而不是“重建”: - )