2012-10-11 190 views
0

我有用於MSBuild的C++和C#項目。Visual Studio在解決方案中構建非依賴項目

項目文件中的<ProjectReference>標籤指定了相關性。

當我使用MSBuild從命令行構建特定項目時,一切正常。

但是,當我在Visual Studio 2010中構建特定的項目A時,某些項目將在哪個項目A不依賴的情況下重建。

什麼會導致此類行爲以及如何解決此問題?

+1

將msbuild日誌級別設置爲VS設置中的診斷,並在描述怪異行爲後檢查日誌 - 通常很明顯觸發構建的原因是什麼。 –

+0

我收到6000行輸出我的解決方案... – sergtk

+0

這是非常詳細的輸出和非常簡單=)。現在你可以找到確切的位置,哪裏出現了意外重建的項目,原因是什麼。畢竟它並不那麼難;)。 –

回答

0

這可能是Project-A的依賴項之一取決於項目。 Visual Studio會建立所有的依賴關係。 e.g

項目A依賴於項目-B &項目-C 項目-C依賴於項目-X

的Visual Studio將建立項目-X,項目-C,項目-B和項目-A。

依賴walker是一個很好的工具來找出依賴關係圖和完整的列表。

+0

爲什麼在使用MSBuild構建時一切正常?在處理依賴關係時,Visual Studio和MSBuild有什麼區別? – sergtk

+0

可視化工作室通常會對代碼進行代碼搜索,因此它很可能會構建所有項目。本文有關於MSBuild的一些信息,這可能也有幫助。 http://blogs.msdn.com/b/visualstudio/archive/2010/12/21/incorrect-solution-build-ordering-when-using-msbuild-exe.aspx – arif

+0

文章中描述的問題在解決方案文件包含依賴關係,但我在解決方案文件中沒有依賴項 - 我寫了關於這個問題 – sergtk

相關問題