2010-11-16 79 views
0

我們在用C#編寫的客戶端上使用Drools引擎。我們使用IKVM將drools jar和我們的java beans轉換成使用IKVM的dll。我們是一個類似的規則: -IKVM的流口水錯誤

rule "aggregate rule" 
    when 
     $b : Bill(billAmount > 100) 
     $n : Number(doubleValue > 100) from accumulate ($l : LineItem() from $b.findItems("color", "blue"), sum($l.getSellingValue())) 
    then 
     VoucherSeries fact0 = new VoucherSeries(); 
     fact0.setSeriesCode("aggregate voucher"); 
     insert(fact0); 
     voucherlist.add(fact0); 
     System.out.println("sum" + $n); 
end 

當它與基於Java的Drools API的運行,但同時與IKVM運行它轉換滴料此規則正常工作,它引發以下錯誤: -

無法投射「AccumulateMemory」類型的對象以鍵入「FromMemory」。

關於可能出錯的任何想法?

回答

0

這可能有很多原因。例如classloading問題。它可能是IKVM中的一個錯誤。等等。

我想不是你會在這裏收到有用的答案。您應該聯繫IKVM的郵件列表,其中包含許多詳細信息,例如IKVM版本,您如何編譯dll以及可運行示例以展示問題。

這個問題,你只能解決,如果你debug它。