Missing Method未使用反射时的异常
本文关键字:异常 反射 Method 未使用 Missing | 更新日期: 2023-09-27 18:05:50
我有以下类
public class Value
{
...
public virtual Unit Unit { get; set; }
}
它在主模块引用的程序集中定义。在主模块中,有简单的代码
private void SaveData()
{
Value value = GetValue();
//some code here
Results.Add(new Result
{
Unit = (int)value.Unit,
});
}
在输入保存数据方法时,我得到缺少方法异常。保存数据的执行甚至没有开始。以下是异常消息
找不到方法:"单位 Value.get_Unit(("。
怎么会这样呢?我根本不使用反射,那么这个例外从何而来?提前感谢您的帮助
看起来您曾经添加了 Value.Unit
成员,但您正在针对包含此方法之前的其他程序集的旧版本运行包含 SaveData()
方法的程序集。 因此,运行时期望存在一个方法,但它不存在。 这会导致SaveData()
的 JIT 编译失败,从而阻止其执行。
仔细检查此应用程序使用的所有程序集是否与最新版本保持最新。