2011-10-27 174 views
2

我有一個Visual Studio .Net解決方案,它有很多項目/庫。Visual Studio項目依賴關係

當我在自己的PC上本地工作時,沒有問題,因爲我傾向於重新編譯剛更改過的所有庫,並且所有內容都同步。

問題是,有時候其他開發人員偶爾會需要處理或查看我的代碼,但重新編譯所有內容都會遇到大問題。

在配置管理器中,我沒有檢查所有項目,否則建立一切工作都會花費太長時間。

問題是解決方案在另一個應用程序上編譯時,報告中的某些錯誤表示某個特定的庫存在錯誤,並且需要很長時間才能找出所有編譯每個錯誤的依賴項。

即使檢查配置管理器中的所有內容,它仍然看起來不能正確編譯。

我認爲當你添加一個對庫的引用時,依賴被照顧。

是否有一種簡單的方法來確保解決方案確定哪些是正確的依賴關係,並確保所有內容都按正確的順序構建?

謝謝

回答

2

其他開發人員從您那裏獲得新的源代碼後,應關閉Visual Studio並重新打開解決方案。

有時在Visual Studio中也存在依賴關係的問題。首先,嘗試下列菜單命令:

Build > Clean Solution 
Build > Rebuild Solution 

這將顯示哪些依賴關係是循環的還是不正確的。 此外,在Visual Studio項目不得依賴另一個創建可執行文件(至少對於我們純粹的C++寫的項目,這是真的)。即編譯爲「Utils.dll」的「Utils」項目不能依賴於「MyApp」項目,該項目導出一些函數或符號並編譯爲兩個 MyApp.exe和MyApp.lib(或某種其他類型的程序集)。如果您有這樣的依賴關係,您必須正確設置項目構建順序並手動將MyApp.lib設置爲鏈接器輸入。

1

您可以通過包裝和使用http://nuget.codeplex.com/分發您的組件。它是爲了解決這個問題。

+0

我的應用程序是一個wpf應用程序。它可以用於任何項目類型嗎? – TheWommies

+0

它不是用於分發應用程序,而僅僅是庫。你有沒有看過入門網頁? http://nuget.codeplex.com/documentation?title=Getting%20Started – Jason

+1

感謝您的看法,這似乎是一個方便的工具,但出於某種原因,我的解決方案無法以正確的順序編譯(我自己的庫,而不是第三方),項目依賴似乎是正確的,所以不知道什麼是錯的。花費這麼長時間才能確定在不同PC上構建的順序 – TheWommies