【问题标题】:LINQ Issue: Unable to cast object of type 'System.Reflection.Module' to type 'System.Reflection.Emit.ModuleBuilderLINQ 问题:无法将“System.Reflection.Module”类型的对象转换为“System.Reflection.Emit.ModuleBuilder”类型
【发布时间】:2008-10-13 11:28:51
【问题描述】:

我有一个简单的 lambda 表达式,它作为 UNIT 测试运行良好,当我将代码复制到应用程序的 Main 方法中时也运行良好。但是,当我在回调方法中(通过 JMS courier)运行相同的代码时,我得到了上述错误。有人遇到过吗?

示例代码失败:

Expression<Func<JupiterDividend, bool>> expr = v => true;
expr.Compile();  // This is what fails

【问题讨论】:

  • (已编辑以正确显示代码。)
  • 您能否展示一些堆栈转储?尤其是“表达式”周围的位。还;你知道 JMS 是否会做一些“有趣”的事情,比如动态类型创建可能会引发扳手?

标签: c# linq


【解决方案1】:

当 ModuleBuilder 已被“编译”或 TypeBuilder 已被“编译”时,您通常会收到此类错误。

我会检查这些事情发生在哪里。此外,在这种情况下,堆栈跟踪可能会很方便。

【讨论】:

    【解决方案2】:

    有一个错误报告here,但不确定是否与您遇到的问题相同。显然,这已在 .NET 3.5 SP1 中得到修复。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多