【发布时间】:2018-04-12 09:37:04
【问题描述】:
我将以下代码设置为一个虚拟示例,以说明我在生产代码中发现的内容。
static void Main(string[] args)
{
bool GreaterThan(int x, int y)
{
return x > y;
}
bool OperateOnTwoNumbers(int x, int y, Func<int, int, bool> func)
{
return func(x, y);
}
var twoGreaterThanOne = OperateOnTwoNumbers(2, 1, GreaterThan);
}
当我在OperateOnTwoNumbers(2, 1, GreaterThan) 上设置手表或使用 Shift+F9 进行交互调试时,出现以下错误。
OperateOnTwoNumbers(2, 1, GreaterThan) 错误 CS0103:当前上下文中不存在名称“OperateOnTwoNumbers”
但代码本身运行良好,在我越线后,我可以看到分配给变量的值。
这已经在不止一台计算机上复制了,带有生产代码和这个虚拟示例,所以我认为这不是环境问题。
这是问题的记录,可以通过单击记录并在其直接地址查看以完整质量查看。
有什么想法吗?
【问题讨论】:
-
这看起来很奇怪。您是否进行了清洁/重建?你有循环引用吗?
-
这个特殊的例子是在一个全新的项目上,我只是为了测试这个概念而创建的,你看到的是整个代码库,没有其他参考。我尝试重建无济于事。
-
您是否进行了发布或调试构建?该方法可能已被优化?
-
在这两个地方我都目睹了这是在调试配置中。
-
我不怀疑您在这里看到了问题,但在我的两个测试中(本地测试和here)似乎都很好。你分析过生成的 IL 吗?
标签: c# visual-studio debugging