0

我不太確定如何解釋我的問題,所以我希望這不是重複。Visual Studio「項目」參考同步問題

我看到的問題是使用Visual Studio 2008.當我在解決方案中直接引用一個項目時,我注意到依賴引用偶爾會失去同步,並且我的頂級項目最終會持續到舊版本的DLL(最明顯的是我的斷點不再被擊中)。如果我的引用是基於DLL的,我期望這樣的行爲,但是我認爲直接引用該項目應該避免這些同步問題,因爲項目是作爲解決方案的一部分串聯構建的。

如果我手動更改從屬項目的版本號,似乎強制引用更新和正確的事情,或我rebuiild從屬項目,然後「乾淨」,並重建入口點項目,引用似乎同步,所以我有一個解決方法。但在過去,我從來沒有真正注意到這個問題。完整的解決方案重建通常可以讓所有的事情都能夠輕鬆完成。

我花了一段時間(以及很多挫折)來確定問題的本質,並且由於它是零星的,我意識到它不僅僅是一種僥倖,而是花了我更長的時間。所有這些都說明了,我無法確切地指出事情運行良好的時間和現在的情況。

我已經完成了以下相當近的工作,所以我希望挑選你們大腦,看看是否有任何已知問題(和/或簡單的修復)與這些事情有關。

  • 升級(有爭議形容詞:)?)我從XP操作系統Windows 7的
  • 從32位到64位處理器升級(我的OS變化反映了這一點,以及... 32位XP - > 64位Win7)
  • 與我的2008版本一起安裝了Visial Studio 2010 Express。

我在運行Visual Studio 2008的瓦特/ SP1(V 9.0.30729.1)

+0

對不起,但現在有什麼錯誤? referenscing項目,而不是dll是正確的決定。我希望你做完之後應該沒問題,不是嗎? – 2010-09-22 16:18:34

+0

過去,在構建解決方案時,基於「項目」的參考始終保持同步。現在我注意到情況並非總是如此。 (它也似乎總是不是這種情況,這也是我無法確定變化的原因的一部分......我應該更加勤奮,但我一直在粉飾一些案件,直到flukey行爲)。現在,即使在基於項目的協作中,即使在完成「重建」解決方案之後,仍然會出現這樣的情況,即我的項目之一會保留另一個項目DLL的舊引用。 – Steven 2010-09-22 18:19:21

回答

2

你添加項目引用或者是你的/ bin目錄下瀏覽到一個dll引用呢?如果你瀏覽你會有這些問題;這就是爲什麼添加項目引用(添加引用對話框的「項目」選項卡)的原因。

第二種可能性是您的構建已配置爲使得所引用的項目未被構建。

打開配置管理器對話框(右鍵單擊解決方案,選擇配置管理器...),並確保當前選定的平臺上您需要的所有東西正在構建(選中「生成」列中的複選框)。

+0

我選擇依賴項作爲「項目」,而不是瀏覽到DLL。在過去,我從來沒有遇到過這個問題,但最近(在過去的3-4個月裏偶爾發生?)我注意到一些與同步有關的奇怪問題。我不知道發生了什麼變化,但是您提供了有關平臺詳細信息的好處。 – Steven 2010-09-22 18:11:09

+0

哎呦......我試圖添加一個強行換行符/回車,但它提交了我的不完整評論。 W/R/T的平臺選項,我注意到我的轉換到64位,Visual Studio似乎不支持在64位環境(32位允許這個)處理過程中的代碼編輯。另外,在引用64位版本時(我的情況,這是「任意處理器」設置的結果而不是故意選擇使用x64)的結果,我注意到了一些怪癖,所以我養成了強迫每一個項目到32位平臺....這可能會導致問題? – Steven 2010-09-22 18:14:55

+0

我應該仔細閱讀你的文章。你回答了我的問題。在配置管理器中,我的兩個依賴項目未被檢查構建。我已經仔細檢查了「Project Dependencies」和「Build Order」項目,但錯過了這一項......我想我需要閱讀一些內容,因爲它看起來像Configuration Management和Build Order會顯示,同樣的事情,但在我的情況下,他們似乎相互矛盾......嗯......無論如何,感謝你的快速反應! – Steven 2010-09-22 18:25:36