2012-06-16 77 views
28

我剛剛將VS2010項目升級到VS2012,現在有一個問題,依賴項目不是按需建造的。例如,假設我有我的解決方案如下項目:Visual Studio 2012不依賴於建築項目

  • 圖書館一
  • ConsoleApp 1

凡ConsoleApp 1個引用庫A.如果我改變方法的簽名的一類在庫A中運行ConsoleApp 1,由於ConsoleApp 1沒有看到我的更改,因此會出現編譯器錯誤,因爲運行ConsoleApp 1不會導致庫A生成。

如果我手動構建庫A,然後手動構建ConsoleApp 1,它工作正常。但是,我期望運行ConsoleApp 1應該可以在啓動之前重建任何依賴項目。

我可以有東西配置不正確嗎?或者這是VS2012中的一個錯誤?

+0

這可能是一個錯誤,導致VS 2012還處於RC階段...不能肯定地告訴雖然... – walther

+1

什麼是顯示在您的項目依賴(右鍵單擊項目,然後選擇項目依賴項)? –

+0

項目依賴關係看起來正確。例如。對於ConsoleApp 1,選中庫A的複選框。這個問題可能比我想象的還要糟糕。如果我直接對ConsoleApp 1中的類進行更改,然後點擊F5/Run,則ConsoleApp 1不會重建,並執行最後一個內置版本,而無需進行更改。 – user1438940

回答

16

嘗試刪除項目references並再次添加它們(路徑如下:References ->(右鍵單擊)Add reference -> Solution -> Project)。在給另一個嘗試之前Save All。這是我解決它的方式。

+3

因此,這不是問題所在,但我最終從解決方案中刪除了所有項目,編輯.csproj文件以刪除項目引用,然後將每個項目添加回解決方案並重新創建引用。似乎現在工作正常! – user1438940

+2

我昨天晚上/今天早上有同樣的問題。所以我從解決方案中刪除了所有項目,並將它們全部添加回來,在每個階段添加項目引用以使其得以構建,並且一切正常。 –

+0

上面的兩條評論對我很有幫助。從解決方案中刪除所有項目並手動添加它們(按照我的建設進行構建)。優勝者!!! – Ryan

45

您的症狀聽起來非常類似於those I experienced a while ago。確保項目設置爲使用當前的active解決方案configurationBuild->Configuration Manager下的有效解決方案平臺構建。

+0

這是爲我做的;我在發佈模式下出現錯誤,每個項目的複選框都已關閉。 +1 –

+2

解決方案也適用於Visual Studio 2010 – Entrodus

+1

不錯。我選擇了任何CPU,沒有任何工作。我只是將現行解決方案配置切換到「混合平臺」,現在依賴的項目又重新構建。 –

18

當解決方案的.suo文件鎖定並且Visual Studio不再能夠寫入時,會發生這種情況。此問題的另一個症狀是,您將在打開解決方案時看到在解決方案旁邊創建臨時suo文件。嘗試關閉Visual Studio並刪除工作區中的所有* .suo文件。然後重新打開Visual Studio並重建所有。無需手動重建您的解決方案。這將解決這個問題,當它是由一個鎖定的.suo引起的,正如今天發生在我的一位同事身上。

在他的案例中,原因似乎是他在Visual Studio仍然打開的情況下關閉了他的筆記本電腦。也許Windows的關機沒有完全乾淨?我們只能推測.suo最初如何鎖定。

+0

在我的情況下,我沒有真正檢查.suo文件是否被鎖定。在構建成功之後,我只是繼續看到構建錯誤,並且Visual Studio在執行一些重命名重構時也搞亂了代碼。我刪除了解決方案旁邊的兩個.suo文件中較大的一個(是.v12.suo),並且現在構建錯誤似乎消失了。 – superjos

+0

這解決了我的問題 –

6

我嘗試了上述所有解決方案,但沒有解決這個問題。我發現這是因爲Active configuration中的ConfigurationManager被設置爲僅構建主(啓動)項目。

轉到Build>ConfigurationManager

確保所有你想建立檢查如下 該截圖的項目是Asp.Net論壇here類似的問題,這是對MSDN 細節。雖然這是weired,bcoz我從來沒有改變這些設置,它被正確上週Tools > Options... > Projects and Solutions > Build and Run下工作 enter image description here

6

我遇到了類似的問題,解決(或probelem)是Build and Run設置,其中「只有建設啓動項目和運行依賴關係「進行了檢查。屏幕截圖顯示了我目前的工作解決方在解決方案資源管理

Visual Studio 2012 Options

+0

對我來說,視覺工作室非常困惑,所以我沒有選中這個盒子並重建,所有的錯誤都消失了。我重新檢查了這個盒子,並重建了一切,似乎都在重新開始工作。謝謝。例如: – joshboley

0

右擊解決方案,然後單擊「清理解決方案」。

0

確保引用項目與引用的項目具有相同或更高的.Net框架版本。

+1

..... – ggdx

1

對我來說,我通過右鍵點擊項目來解決問題;建立依賴關係>項目依賴關係。然後手動設置每個項目的順序。非常痛苦,如果你有很多項目。

enter image description here

相關問題