2009-10-21 48 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

相关问题