2009-10-21 59 views
0

我有寫在VB.NET 2003(遺留代碼)單個項目中的應用Windows Forms。 MainForm有一個MainForm和一個SecondaryForm。當我通過MainForm運行應用程序時,我可以在沒有任何問題的情況下進行調試。奇怪的調試情況:「沒有可用於當前位置沒有源代碼」

There is no source code available for the current location

步過當:

但是,如果我只是運行SecondaryForm,我得到的調試錯誤

_routeId = CInt(myVar) 

此時我不再能夠通過我的代碼調試窗口,但我必須使用反彙編代碼。

爲什麼會出現這種情況,我該如何解決?

+0

正如我所說以下,兩者的WinForms是在同一個項目,那麼,爲什麼它們的引用有什麼不同?這讓我感到困惑!?!?有沒有一種設置可以忽略這種類型的問題? – Jim 2009-10-22 13:13:36

+0

請關閉,它已超過一個月... – Jim 2009-12-11 14:21:20

+0

吉姆,它是否得到解決?如果可以,您可以將解決方案作爲答案發布並接受它?如果不是這樣,我們可以將其打開,也許別人會在未來的某個時間點找到解決方案 – 2010-01-19 16:31:20

回答

0

我已經看到了這個問題很多次......而且往往不是它是一個參考值(S)的問題。它是你的代碼有「沒有來源」,或者它是微軟的代碼嗎?您是否安裝了多個版本的.NET Framework?

仔細檢查您引用。

+0

是的,我安裝了多個版本的.NET和VS.而且,它是Microsoft代碼「CInt()」。但是,參考點對同一個項目中的2個winform沒有意義,因爲它們應該使用相同的引用。 – Jim 2009-10-21 14:15:56

+0

你有沒有在VS中設置選項來利用微軟調試符號? – 2009-10-22 14:38:13

+0

我可能有。這是VS 2003,所以我不會用它。你能給我更具體的細節,我會檢查嗎? – Jim 2009-10-23 12:51:23

2

我的問題是步進樣。我可以步入一個usercontrol內的過程,但是當遇到它的End Sub並且我離開那個Sub時,我會得到「沒有可用的當前位置的源代碼」。錯誤頁面。

親自爲我工作的解決方案是:在項目屬性頁面的「調試」下,取消選中「啓用非託管代碼調試」。

Enter image description here

相關問題