2008-11-16 52 views
4

是否存在會導致性能問題的最大數量的項目。我們現在有多達25個項目並不斷增長。我們應該讓這些二進制引用還是將我們的應用程序邏輯分解爲太多不同的項目。似乎最近開始是一個很大的性能問題。對於VS 2005,解決方案中的大多數項目

回答

5

有太多的DLL文件可能會花費你在運行時,所以我建議你儘量減少項目的數量。創建多個解決方案也是一種選擇,但是要儘量使解決方案彼此獨立,以便您不必在多個解決方案中調試和實施新功能 - 這可能非常麻煩。看看這篇文章:Project anti-pattern: Many projects in a Visual Studio Solution File

0

我想說它的成本你在製作的時候不是運行。越少速度越快,但也許你並不總是構建全部。如果是這種情況,那麼你應該減少金額。否則將它們分成不同的解決方案。那麼只有構建服務器需要構建所有這些構建服務器,並且每天構建需要整夜構建;-)

1

是否存在對所有25個項目的依賴關係鏈?如果有些項目不依賴於其他項目,請將它們放在他們自己的解決方案中。

不要編譯整個解決方案,如果你沒有,一個通常不支持。通常,您可以右鍵單擊剛剛修改的項目並編譯。 VS會找出哪些依賴項目需要重新編譯。

使用「不開始調試」,除非你打算打一個破發點。

是某些DLL穩定,在很長一段時間都沒有改變?他們也不必在你的解決方案中。

不要搜索整個解決方案,除非你真的不得不這樣做。

真正的限制是人的思想。一個項目中可以處理多少個文件?另外,除非使用ndepends跟蹤依賴關係,否則在一個項目中放入許多類會導致​​太多的類取決於其他類,從而使更改變得更加困難和風險更大。

1

正常情況下,我們嘗試將解決方案中的項目數量保持在10以下.10之後,您開始具有較慢的編譯時間和較慢的「項目重新加載」時間。

但這裏的主要問題是,爲什麼你有26個項目?一個簡單的網站只能有一個項目,同時在同一個項目中保持數據層,業務層,表示層。

如果你正在拆分項目只爲這3層的東西,我建議你修改這個。作爲一個例子,我們有三個三級項目。我們在單獨的程序集中有3層的原因是我們正在執行其他軟件以便在我們的項目中稍後使用數據層。使我們的業務層保持在主表示項目之外允許我們輕鬆地對業務層進行單元測試,同時在當前層之外保留無用的依賴關係。

因此,總體而言,請將項目保持在10以下,並檢查是否可以合併某些項目以避免出現問題。它將在編譯時和編譯時節省您的時間。管理這些DLL也會更容易。

相關問題