2008-10-21 105 views

回答

108

它刪除與解決方案相關的所有編譯和臨時文件。它確保下一個版本是完整版本,而不是僅重新編譯的文件。

+3

那麼「Build」和「Rebuild All」之間有什麼區別? – ChadD 2010-10-14 18:44:17

+2

想象一下有3個項目的解決方案。Build只編譯自上次構建以來已更改的項目。重建,編譯一切。 – BigJump 2011-01-19 10:24:37

+18

重建解決方案與運行Clean Solution然後構建解決方案基本相同嗎? – 2011-02-23 18:34:16

4

清除編譯過程中創建的文件。下次有效地強制重新編譯/構建。

61

它刪除以前編譯/編譯過程中生成的所有對象代碼。 它刪除所有以下類型的文件: -

* .OBJ - 對象代碼

* .PDB - 程序調試DATABSE文件

* .BSC - 瀏覽器源碼DATABSE

* .ilk - 增量鏈接文件

* .SBR - 源瀏覽器中間文件

* .idb - 重建相關性文件

* .lib - 將庫文件

的* .exe - 可執行

JFYI - 即使是重新生成所有指令會做這一切,然後去建立一套完整的源文件。

-AD

5

這是一篇老帖子,但我認爲這值得一提。在爲Silverlight編碼時,我通常同時打開Blend和VS2010。正因爲如此,有時候VS2010會嚇壞了,而IntelliSense無法找到東西是什麼東西,導致它錯誤地突出了很多錯誤。

清理解決方案修復了此問題。

2

當您清洗解決方案時要小心;當你清理一個解決方案時,如果你在你的項目中引用一個庫(比如說nhibernate),並且如果這個庫有一個依賴項(比如說iesi.collections),那麼即使你重建了iesi.collections也會被刪除解決方案,你必須把這個DLL再次放到你的文件夾中。或者您也可以參考iesi.collections並從其屬性中選擇本地複製:是選項

0

僅供參考,無論是「清理」還是「重建」都將刪除非構建文件,例如在預生成命令期間複製的文件。我一直對此感到困惑!

11

我希望這是一個評論,但顯然需要50代表。

爲了警告其他人,我發現重建解決方案並沒有自己清理乾淨。我經常不需要清理它,並在它正常工作後重建它 - 我認爲重建它自身會強制完全編譯而沒有清理並覆蓋所有內容,但不會擺脫額外的內容。

沒有看看重建代碼是否明智,只是一個普遍的觀察,以防其他人有相同的問題。