2008-09-17 133 views
0

我遇到了Visual Studio 2005中令人討厭的問題......有時在重新構建時,即使我重新構建解決方案,它也會返回沒有錯誤或警告,但是當我稍後編輯另一個代碼文件,即使不更改它,然後重新編譯,它會在其他文件中找到錯誤或警告。顯然,早先的重建解決方案沒有重新編譯該文件!我如何強制VS完全重新編譯每個文件?在Visual Studio中查找錯誤/警告

回答

0

這與配置管理器有關嗎?您可以選擇解決方案中的哪些項目。不知道這是否有幫助。

1

這可能有助於清除之前重建解決方案 - 右鍵單擊​​在Solution Explorer解決方案,然後選擇「清潔解決方案」 - 這將刪除臨時文件,應該清除出bin和OBJ文件夾,因此一切都被重建。

0

根據警告的類型,如果我正確記得,這是不可能的。

例如,僅當文件打開時才顯示符合XHTML標準的警告消息。你可以檢查VS內的公差設置,看看你是否可以改變它。

1

我與Guy Starbuck在這裏,但會補充說,重建解決方案應該做一個清潔的解決方案,然後構建解決方案,然後,它應該已經解決了你的問題開始。但VS 2005在這方面可能會很糟糕。有時它在幾次重建之後纔開始工作。如果不能升級到2008年,請考慮手動清除bin文件夾。

0

這聽起來很奇怪 - 重建應該構建一切,無論變化如何,構建應該只構建已經改變的東西。

您所描述的行爲只應在修改未更改文件引用的內容時纔會發生,因此它現在不正確。

2

當你在解決方案中有多個項目並且引用混淆時,我已經看到過這種情況。

假設您的解決方案有Common,Business,Data和UI四個項目。假設Common是其他三個項目引用的。

我們想要的是常見的是「項目引用」和其他三個項目 - 然後他們會從普通的構建輸出目錄拿起自己的副本。

但是,有時候,其中一個項目會把它的參考混淆起來。假設在這種情況下,該UI開始引用Data的構建輸出目錄中的Common副本。現在,編譯「UI」而沒有編譯「數據」的任何更改都會導致兩個可能不兼容的「Common」版本成爲UI的依賴項。

另一種情況是,其中所述基準是爲二進制,如從一個「lib」目錄。然後,其中一個項目最終引用了構建輸出位置而不是lib。

我不知道是什麼原因造成這一點 - 但我看到這一切的時候,很遺憾。

修復程序是要通過每個項目的參考,並找到指向錯誤的地方的一個(或多個)。