2011-04-26 51 views
0

我最近將一個解決方案從VS2005遷移到VS2010。 該解決方案由約20個項目組成。其中之一是在VB.net中,其他的是C#。 在VS2005中一切都很好,那就是我能夠將VB.net項目引入到C Sharp項目中。現在我不能再做了。 奇怪的是,當我在編輯器中打開一個引用VB.net DLL的C#類時,我得到的編譯錯誤或多或少像這樣: 「他的類型或命名空間名稱'VB.netProject'不存在在命名空間「解決方案命名空間」(您是否缺少程序集引用?)「遷移問題VS2005 - > VS2010 - 缺少裝配參考錯誤

...並且不,程序集引用確實存在!

但是,當我關閉編輯器中的文件並嘗試再次編譯時,操作成功,並且我得到的可執行文件與VS2005中的完全一樣。

有沒有辦法在編輯器中看到VB.net組件?我相信我錯過了一些東西,但我不知道是什麼! :-)

很多感謝您的幫助,

約翰

+0

你有兩個版本都安裝了所有的Visual StudioAdminnents?您可以從新鮮的語言製作簡單的混合語言解決方案嗎? – Jodrell 2011-04-26 13:24:41

+0

您可能沒有安裝VS.NET支持VB.NET。您可以通過運行VS2010安裝程序,選擇修改安裝,然後檢查VB.NET語言支持框來解決此問題。 – 2011-04-26 13:25:56

+0

在回覆這兩個問題時,我確實安裝了全部VS2010和所有組件,並且確實有VB.net支持。 VB.net項目在VS2010中編譯正確,我不能在同一個解決方案中的C#項目下看到它。非常感謝。約翰 – John 2011-04-26 13:28:25

回答

1

不幸的是,Visual Studio中集(在遷移之後)的目標框架.NET Framework 4的客戶端配置文件。如果設置了此目標框架,則無法找到某些名稱空間(=>,因爲客戶端配置文件不包含此類)。如果你的項目已經設置了這個目標框架,請確認。您會在項目屬性下找到該設置。

親切的問候,帕特里克

+0

你好帕特里克,我檢查了目標框架,它是2.0。爲了克服部署中的問題(不是所有的客戶機都安裝了.net 4),我在幾天前手動設置了這些設置。所以這讓事情變得更復雜,我猜。感謝您的幫助,約翰 – John 2011-04-26 13:45:53

+0

親愛的大家,似乎我找到了解決方案。我所做的就是勾選「Register For Com Interoperability」設置爲true,現在我可以在C#項目下看到VB項目。非常感謝大家的幫助。約翰 – John 2011-04-27 11:39:21