2008-10-13 8 views
4

J'ai une expression lambda simple qui fonctionne correctement en tant que test UNIT et fonctionne également correctement lorsque je copie le code dans la méthode Main de mon application. Cependant, quand je cours le même morceau de code dans une méthode de rappel (par courrier de JMS) j'obtiens l'erreur ci-dessus. Est-ce que quelqu'un a rencontré ça?LINQ Problème: Impossible de convertir un objet de type 'System.Reflection.Module' en type 'System.Reflection.Emit.ModuleBuilder

Exemple de code défaut:

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

(Modifié pour afficher correctement le code.) –

+0

Pourriez-vous afficher une partie du vidage de la pile? Surtout les bits autour de "Expression". Aussi; savez-vous si JMS fait quelque chose de "fun" comme la création de type à la volée qui pourrait jeter une clé? –

Répondre

2

Vous obtiendrez normalement ce genre d'erreur lorsqu'un ModuleBuilder a déjà été « compilé », ou un TypeBuilder a déjà été « compilé ».

Je voudrais vérifier où de telles choses se produisent. En outre, une trace de pile peut être utile dans ce cas.

-1

Il y a un rapport de bug here, mais je ne sais pas si c'est le même problème que celui que vous rencontrez. Apparemment, cela a été corrigé dans .NET 3.5 SP1.

+0

Votre lien est incorrect – GvS

+0

Le lien a été corrigé – liggett78

Questions connexes