我在调试的时候突然发现了一个奇怪的错误。到目前为止,手表窗口中的变量一直在正确显示。现在,我总是在监视窗口中得到以下错误消息:
函数求值要求所有线程运行。
我再也不能检查任何变量了。我没有显式地处理线程。我该怎么做才能让它再起作用?
正如在一些论坛中提到的,我已经禁用了调试器的选项窗口中的函数:“EnableProperty估价和其他隐式函数调用”。但没有成功,这给了我一个错误:
用户禁用的错误隐式函数计算
发布于 2015-05-01 10:50:41
发布于 2018-09-05 21:17:28
当我尝试使用实体框架从一个名为"AGENCY“的表中获取项目时,我遇到了这个问题:
var agencies = db.AGENCY.OrderBy(e => e.FULLNAME);

在调试模式下徘徊在代理上,单击以展开选项,然后单击结果将给出可怕的“函数评估要求所有线程运行”的图标,在该图标的末尾,单击“不进入”,而单击该图标时,单击“什么都不做”。
2.可能的解决办法:
.ToList():
var agencies = db.AGENCY_TABLE.OrderBy(e => e.FULLNAME).ToList();
List<AGENCY_TABLE> agencies = db.AGENCY_TABLE.OrderBy(e => e.FULLNAME).ToList();
这归功于Hp93帮助我找到这个解决方案。在我找到这个解决方案的MUG4N的回答中,它还提到了尝试.Any()而不是.ToList(),但是这给出了一个布尔值而不是一个<T>,就像<AGENCY>那样,所以它可能不会有帮助。

发布于 2018-01-24 15:10:20
MUG4N确实提供了一个正确的答案,但是如果您在调试中的代码行上徘徊,您可能会看到如下所示。如果是的话,单击下面图像中突出显示的小重评估图标.

NB:我是通过钉扎得到这张图像的,通常重新评估的图标在窗口的中间,而不是在左边的列上。
https://stackoverflow.com/questions/29985150
复制相似问题