我正在使用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中的對象之間出現錯誤......我需要確認這一點,但我不確定此時需要採取什麼措施來解決此問題。:)
我的理解是,建立依賴關係的事實意味着它應該以正確的順序構建它們。這個錯誤似乎是在構建順序列表中的最後一個Web項目中拋出的......檢查構建順序後,問題程序集在構建順序列表中排在第三位。但我會記住它。 – Chris 2010-05-21 09:04:15