在逐步执行Linq查询时打开浏览器窗口 - “找不到源”

问题描述 投票:0回答:1

我一直在编写一个没有问题的项目,使用F11根据需要逐步调试代码进行调试。大约一周后,Visual Studio 2017突然决定停止允许我逐步完成代码的某些部分。

当我找到引用我的实体框架模型(基于SQL数据库)的linq查询时,它会打开一个浏览器窗口,要求我找到一个文件; (如下图所示,rttype.cs)。我试过的所有其他代码行都可以毫无问题地进入;我没有尝试过每一行。

Browser window that pops up during debugging

我还在VS中打开了一个新页面,说找不到rttype.cs。如果我选择单步执行代码的不同部分,则找不到的项目会有所不同 - 我猜想无法找到它所需的几个对象。

在网上找到的建议方面,我删除了.suo文件,删除了bin和object文件夹,清理了解决方案并重建了它,删除并重新制作了EF Model并试图找到VS chache文件,但问题是仍然存在。我还检查了linq本身,只要我不尝试单步执行代码,它似乎工作正常。

很多建议建议删除visual studio缓存文件,但我担心这会导致TS等其他问题,而且无论如何我都找不到关于如何为VS 2017做这个的建议(很多建议为旧版本!)。

您建议尝试诊断此问题的原因并修复它?

visual-studio-2017 visual-studio-debugging c#-6.0
1个回答
2
投票

F11是Step Into,又名。显示当前行内的代码(如果可用)。

F10是Step Over,又名。只需在当前行中运行代码。

如果按F11,IDE将尝试向您显示您正在查看的行后面的代码。由于您的行中的下一步涉及.Net Framework内部的某些内容(您只有程序集而不是源代码),IDE会要求您使用对话框显示下载.Net Framework源代码的位置。

我建议使用F10代替调试器的下一步不是在您的解决方案中编写的内容。

另请参阅此链接,该链接提供有关仅使用“我的代码”调试用户代码的信息:https://docs.microsoft.com/en-us/visualstudio/debugger/just-my-code?view=vs-2017

© www.soinside.com 2019 - 2024. All rights reserved.