2010-07-30 180 views
8

我有一個Silverlight 4解決方案需要很長時間才能從VS2010和MSBuild 4命令行進行構建。爲什麼MSBuild任務ResolveProjectReferences需要很長時間?

該解決方案包含42個項目,一個是Silverlight應用程序項目,一個是Web應用程序項目,其餘是類庫。

的MSBuild的診斷摘要顯示這些任務都採取了一些相當長的時間......

29891 ms ResolveAssemblyReferences     68 calls 
115609 ms CopySilverlightApplications    1 calls 
131547 ms ValidateXaml        36 calls 
425688 ms ResolveProjectReferences     68 calls 
634031 ms Build          71 calls 

項目依賴關係都非常好排列,生成順序看起來是合理的。我將所有項目編譯到一個輸出文件夾中,並且所有引用都有CopyLocal = false。

看起來最嚴重的罪犯是ResolveProjectReferences,但爲什麼它需要這麼長時間?

回答

2

您是否在編譯時啓用了代碼分析?如果是這樣,請嘗試禁用它。有類似的問題。禁用代碼分析後,構建運行速度提高5倍。

0

ResolveProjectReferences必須構建每個引用的項目。 所以有可能,一些項目會多次構建。

使用文件引用和中央構建過程來消除此問題。

i used this in a project once

我們降低了我們構建時爲12分鐘至3分鐘。

相關問題