【发布时间】:2019-05-16 16:51:57
【问题描述】:
我在 Visual Studio 2017 中遇到了一个非常令人沮丧的错误
我正在通过 NUnit 测试运行代码并得到以下错误
断点条件未能执行。
条件是“值 == 22”。
返回的错误是“评估方法 System.Decimal.op_Equality() 调用本机方法 System.AppDomain.GetId()。
不支持在此上下文中评估本机方法。'。
点击确定在此断点处停止
有人可以帮忙吗?我尝试过启用和禁用托管兼容性。
如果我关闭了管理兼容性,我将无法调试任何东西。
public decimal MyValue
{
get => _value;
set
{
if (_value == value)
{
return;
}
_value = value;
HasChanged = true;
}
保罗
【问题讨论】:
-
试试
decimal.Equals()代替==运算符? -
断点条件执行失败。条件是'(decimal.Equals(22M))'。返回的错误是“错误 CS0120:非静态字段、方法或属性 'decimal.Equals(decimal)'需要对象引用”。单击“确定”在此断点处停止。
-
我试过 value.Equals(22) 并得到同样的错误
-
只需更改代码添加
if (value == 22) { /* empty line for breakpoint */}临时...
标签: c# visual-studio-2017