2010-05-21 54 views
1

我正在使用Visual Studio和一個包含10個左右項目(主要是VB,一些C#)的解決方案,這些項目都有不同的依賴關係。通常當我編譯解決方案時,它工作正常。偶爾當我這樣做時,我得到一個構建錯誤,說一個引用的項目是錯誤的版本(我認爲總是相同的,可能是兩個可能導致問題)。在這種情況下,進入解決方案資源管理器,右鍵單擊所提及的項目,並說「重建」,然後是另一個完整版本,使其正常工作。Visual Studio內部項目引用不總是工作

我認爲有些地方設置了錯誤,但我最初並沒有自己設置解決方案,並且快速查看並沒有立即顯示任何錯誤。

感覺就像有一種競爭條件,VS在內部設置它需要的項目的版本號,因爲在項目被重建之前,因此得到了錯誤或類似的東西,但我相信VS應該妥善處理所有這些事情。

可有人請建議,我可以檢查這是否已正確設置了地方......

而且,我也要最後請注意,因爲我沒有這個可靠的攝製我可能無法回答問題太快。例如,「你能給出確切的錯誤信息」中的一個明顯的問題將不得不等待,因爲我今天早上沒有想到要複製它,只是在我按照上面的步驟清理它之後,我纔想在這裏發佈。同樣任何解決方案可能需要一段時間才能確認

編輯以添加錯誤消息:

間接引用被組裝ODP版本1.0.3792.16586,其包含由 '{{CLASSNAME}}'。本項目引用ODP版本1.0.3791.18659的先前版本。要使用「{{CLASSNAME}}」,您必須將ODP的引用替換爲版本1.0.3792.16586或更高版本。

編輯更多的顯然是相關細節

既然已經買了,我會澄清的一個項目是web項目,它是這其中之一是生成上面的錯誤消息。

進一步編輯

說完看着進一步有ODP.dll在我的web項目的bin diretory副本。使用Windows資源管理器並右鍵單擊,請求屬性並查看版本1.0.3791.18659。刪除它(實際上移動到其他地方)時,它重新創建該文件仍然具有相同的版本號(即舊版本號)。

ODP聲稱自己是一個項目引用過這仍然讓我覺得這應該只是工作... :(

而且進一步編輯

現在我覺得現在的問題是,如果ODP項目的變化,然後重建它,但並不需要重建依賴它的所有項目,所以一個項目可能仍然是針對舊版本和另一個針對新版本構建的,如果他們然後試圖說話在每個otehr與ODP中的對象之間出現錯誤......我需要確認這一點,但我不確定此時需要採取什麼措施來解決此問題。:)

回答

0

構建順序是否正確?我可以想象,如果你建立一個引用另一個的項目,而那個項目還沒有建立,你可能會遇到這樣的問題。

鏈接:http://msdn.microsoft.com/en-us/library/5tdasz7h%28v=VS.80%29.aspx

+0

我的理解是,建立依賴關係的事實意味着它應該以正確的順序構建它們。這個錯誤似乎是在構建順序列表中的最後一個Web項目中拋出的......檢查構建順序後,問題程序集在構建順序列表中排在第三位。但我會記住它。 – Chris 2010-05-21 09:04:15

0

如果你有一個網站項目,你確定你已經設置這些是「項目」的引用,而不是「本」的引用 - 你可以這樣會得到一些問題。

+0

我確實有一個網站項目,它是在這裏,它拋出了錯誤的問題。這聽起來像是作爲一個解釋很有意義(假設項目引用指的是項目本身和bin引用到bin目錄中的dll。) – Chris 2010-05-21 09:05:54

+0

我已經檢查過,它絕對是一個項目引用。正如我現在編輯到原來的問題,如果我從bin目錄中刪除文件,它仍舊使用舊版本號重新創建它們... – Chris 2010-05-21 09:41:56

相關問題