2010-12-11 136 views
33

我不知道我是否理解正确,Visual Studio中项目的“构建”和“重建”命令之间的区别在于构建仅编译已更改的代码,因为“重建”命令编译项目中的所有代码无论是否已更改。Visual Studio中的“构建”和“重建”有什么区别?

另外一个重建命令包含一个干净的项目,因为build命令不会?

请指教我更好地了解这些差异。

谢谢!

+0

__Related#1__:[Visual Studio中构建解决方案,重建解决方案和清理解决方案之间的区别](https://stackoverflow.com/q/3095901/3367974),__Related#2__:[重建与清理+在Visual Studio中构建](https://stackoverflow.com/q/1247457/3367974) – 2017-06-29 10:42:35

回答

27

另外一个重建命令包含一个干净的项目,因为build命令不会?

您已经确定了根本区别。

构建将查看自上次成功编译和链接以来修改过的文件,然后将其编译并链接结果。

重建将重新编译一切。

严格地说,它可能不同于一个干净的(删除中间文件和输出文件)并构建并重新编译所有内容,但结果应该是相同的。但是,可能有些情况会失败(请参阅Femaref的评论)。

+1

到最后一点:这取决于。在某些情况下,剩余的临时文件或更改的引用可能会破坏您的构建,尤其是对于后面的情况,因为没有更改代码,但仍旧使用旧引用。需要清洁来替换这些。 – Femaref 2010-12-11 13:22:44

+2

不知道为什么,但有时干净似乎并没有摆脱所有的旧引用。发生这种情况时,我将删除obj目录。 – Trevor 2010-12-11 13:33:25

26

Build意味着编译所有在上次编译后被更改或写入的代码。

重建意味着编译整个项目,无论代码是否被更改。

所以,在让你阅读我的答案之后,你会说得对。

相关问题