2010-12-11 109 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意味着編譯所有在上次編譯後被更改或寫入的代碼。

重建意味着編譯整個項目,無論代碼是否被更改。

所以,在讓你閱讀我的答案之後,你會說得對。

相關問題