2011-03-26 111 views
1

首先感謝。 我正在學習nopcommerce,這是我需要編譯引用其他項目的webiste項目。 所以當我complie的網站外,其他58項目也再次編譯即使我沒有改變在如何提高vs2010的編譯速度

回答

1

您可以控制將在Configuration Manager屏幕(Build - > Configuration Manager)中構建哪些項目。使用此選項僅選擇您打算處理的項目。下一次您構建解決方案時,取消選擇的項目不會生成,並會在構建輸出中報告爲「跳過」。

如果您以後需要構建一個您已經選擇的項目,可以在解決方案資源管理器中右鍵單擊該項目,然後單擊「構建」以構建該項目。

+0

如果您忘記了取消選擇了某些項目並修改了代碼,那麼這可能會讓您感到困惑,因此如果您選擇了此路線,則可能需要考慮創建一個新的配置來處理縮減構建。同樣值得注意的是,除非您「卸載」其他項目,否則您將得不到相同的內存使用優勢,因此減少了解決方案的規模(我認爲如果您使用的是像resharper這樣的插件,這更是一個問題)。 – forsvarir 2011-03-27 08:37:52

2

點兒你真的需要擁有所有其他項目的在同一個解決方案嗎?

通常有一種方法可以對項目進行分區,從而使它們之間的組相互關聯,這些方案的規模較小。

如果您只是更改頂級網站項目(根據您的描述可能是這種情況),那麼您可能最好有另一個只有該網站投影的解決方案。而不是具有項目級參考在你的網站項目中,你可以有二進制文件(指向其他項目的程序集輸出)。這樣,當您對網站項目進行更改時,它不必去檢查所有依賴關係,以確保它們都是最新的。

Idealy,你會重組項目的方式,創造明智的分裂,這將取決於你的58個項目負責。您也可能需要更改一些工作/構建/發佈實踐,以確保所有正確的二進制文件都在開發/發佈時正在構建和引用,但這是過去對我而言的一種方法。

+0

謝謝,我撤消了大多數項目的參考,而是參考了項目的二進制文件,現在很快,謝謝。 – Alexey 2011-03-27 14:03:36

0

對於Visual Studio 2010,您需要尚未開發的超級機器。特別是如果你正在使用C++項目。 C#編譯器更加優化。我前一段時間想過,如果將新的IDE用於舊版編譯器(VS 2005或VS 2008)可能會很酷。

+0

在我們的一個項目中,我測試的編譯時間比VS 2005高1.8倍(8分鐘而不是4.5分鐘)。 – truthseeker 2011-04-21 08:13:13