Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio VisualStudio2008继续重建_Visual Studio_Visual Studio 2008_Visual C++ - Fatal编程技术网

Visual studio VisualStudio2008继续重建

Visual studio VisualStudio2008继续重建,visual-studio,visual-studio-2008,visual-c++,Visual Studio,Visual Studio 2008,Visual C++,可能重复: VisualStudio2008继续重建整个项目,就好像每个实现文件都被修改一样。即使未修改任何文件,也会发生这种情况。在行中按两次build按钮,整个项目将得到两次rebuild。这不会发生在另一个盒子上。操作系统是WindowsVista 这很烦人。是什么导致了这种行为 这是一个C++项目。 < P> >尝试……/P> 正如@David Paxson在评论中所说的,使用一些语言(例如C#、VB),所有项目都将看起来是“构建的”,但编译器将跳过那些不需要更快构建的项目,即使它们仍

可能重复:

VisualStudio2008继续重建整个项目,就好像每个实现文件都被修改一样。即使未修改任何文件,也会发生这种情况。在行中按两次build按钮,整个项目将得到两次rebuild。这不会发生在另一个盒子上。操作系统是WindowsVista

这很烦人。是什么导致了这种行为

这是一个C++项目。

< P> >尝试……/P> 正如@David Paxson在评论中所说的,使用一些语言(例如C#、VB),所有项目都将看起来是“构建的”,但编译器将跳过那些不需要更快构建的项目,即使它们仍然列在输出中。因此,它可能只是在重建一切。此外,使用C#,Visual Studio有时会连续运行项目数次,有时会无明显原因地决定需要“重建”项目,但这通常只需要几秒钟的额外时间,除非您有数百个项目

重新启动Visual Studio(甚至完全重新启动电脑)

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

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

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

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

如果存在不需要每次生成的项目,请使用Configuration Manager在当前生成中禁用这些项目的生成(或创建“调试快速生成”配置,以便可以在完全生成和部分生成之间快速切换)。或者将不需要构建的项目移动到一个单独的“库”解决方案中,并引用/链接应用程序解决方案中的输出文件(obj或dll),因此,只有在编辑库的代码时,才需要重建库


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

您正在编译什么语言?有了C#,它会在每次构建时构建项目。听起来好像是你要求构建项目,然后构建了。听起来你真正的问题是:“为什么VS在上次重建后没有任何变化的情况下重建解决方案中的每个项目?”这是否正确?@p.campbell。是的,它会不断重新编译所有对象文件。总是。你试过进行全面清理吗?据我所知,每次构建都会重建整个项目。我检查了所有内容,但仍然不确定出了什么问题。我在许多项目中使用了VisualStudio,从未遇到过如此奇怪的行为。无论如何,我把答案标记为接受,因为它提到了许多其他可能导致不必要重建的事情。正如Jason所说,请仔细注意两台计算机上的系统时钟。我曾经遇到过这个问题,当我意识到一台计算机读取的是上午11:18,而另一台计算机读取的是下午11:18时,我终于解决了这个问题。在从一台计算机编译到下一台计算机时,要确保两台计算机之间的时间尽可能接近相同。