我遇到了问题,不知道该怎么做。我正在使用Visual C#Express 2010,但有时,当我执行我的代码(F5)时,调试器会在某个时刻中断异常,有时会说“方法未实现”或“没有可用的源代码”。然后,IDE开始做奇怪的事情。例如,在逐步调试时,它会将光标停在空白行,并且程序无法按预期工作。所以当发生这种情况时,我需要用之前的备份覆盖整个项目。这就像所有项目都被破坏了一样。
这是编辑的图像:
这是运行时的图像:
我想知道发生了什么,以及如何在不加载备份的情况下解决问题。
谢谢!
答案 0 :(得分:1)
对于代码中的任何更改,我总是建议您首先重建项目,然后在调试或直接模式下运行编程。如果未重建解决方案,则不会反映对代码文件的更改。
关于错误:方法未实现 - 在抽象类中未实现抽象类或接口的方法时显示。
没有源代码。这可能是因为没有构建。尝试重建,不应再来了
答案 1 :(得分:0)
为了确保你正在重建你的项目,我会删除输出目录(通常,这个文件夹叫做Debug或Release,包含exe和pdb文件),看看是否有所不同。也许你认为你正在重建,但你不是。
此外,当您运行项目时,请确保您正在运行与您正在构建的配置相同的配置。如果您构建Release,但运行Debug,则生成的代码将不匹配,即使文件是最新的。
您可以转到项目“属性”页面,“构建”选项卡,然后单击“输出路径”浏览按钮来访问输出路径:
请记住,仅仅因为您没有明确定义接口,并不意味着您的程序不使用接口。您正在使用的代码可能已经实现了具有需要在代码中覆盖的默认代码的接口。
正如其他人所建议的那样,我会搜索字符串NotImplementedException
,以确保您不会无意中在代码中的某处抛出此异常。
此外,我会更改代码以捕获异常,因此您可以上升堆栈并确定它被抛出的位置:
for (int i = 1; i <= 4; i++)
{
try
{
MyDevice.SetGpo(i, false);
}
catch (NotImplementedException ex)
{
Console.WriteLine(ex.Message); // set your breakpoint here
throw ex;
}
}
答案 2 :(得分:0)
唯一的解决方案是格式化我的电脑并重新安装Windows。在此之后,重新安装VS并没有更多问题。