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(("。

怎么会这样呢?我根本不使用反射,那么这个例外从何而来?提前感谢您的帮助

Missing Method未使用反射时的异常

看起来您曾经添加了 Value.Unit 成员,但您正在针对包含此方法之前的其他程序集的旧版本运行包含 SaveData() 方法的程序集。 因此,运行时期望存在一个方法,但它不存在。 这会导致SaveData()的 JIT 编译失败,从而阻止其执行。

仔细检查此应用程序使用的所有程序集是否与最新版本保持最新。