2008-10-13 2 views
4

У меня есть простое лямбда-выражение, которое отлично работает как тест UNIT, а также отлично работает при копировании кода в Основной метод моего приложения. Однако, когда я запускаю один и тот же фрагмент кода в методе обратного вызова (через курьера JMS), я получаю вышеуказанную ошибку. Кто-нибудь сталкивался с этим?LINQ Issue: Невозможно наложить объект типа «System.Reflection.Module» на тип «System.Reflection.Emit.ModuleBuilder

Пример кода недостаток:

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

(Отредактировано для правильного отображения кода.) – 2008-10-13 11:36:41

+0

Не могли бы вы показать некоторые из дампов стека? Особенно бит вокруг «Выражения». Также; Знаете ли вы, что JMS делает что-нибудь «весело», как создание типа «на лету», которое может вызвать гаечный ключ? – 2008-10-13 12:07:12

ответ

2

Вы обычно получаете такую ​​ошибку, когда ModuleBuilder уже «скомпилированных», или TypeBuilder уже «скомпилированных».

Я бы уточнил, где происходят такие вещи. Кроме того, в этом случае может быть удобна трассировка стека.

-1

Существует сообщение об ошибке here, не уверен, хотя, если это та же проблема, что и у вас. По-видимому, это было исправлено в .NET 3.5 SP1.

Смежные вопросы