2013-03-03 100 views
0

我转换java's class使用IKVM,通过使jar file为该类dll,然后我用IKVM进行转换操作。此操作成功完成,没有错误或警告。然后我将'IKVM.GNU.Classpath.dll''IKVM.Runtime.dll'(DLL)添加到我的项目(DLL)。那么我重建了这个项目,直到那个时候没有错误,没有警告,没有发生崩溃。但是当我试图从它的反序列化对象的arraylist是类型,我得到一个例外是:java.lang.ClassNotFoundException: "MyClass" not found in java.lang.ClassLoader... my deserliazation。代码是:类未发现异常

object deserializedObject = null;    
java.io.ObjectInputStream ina = new java.io.ObjectInputStream(new java.io.FileInputStream(@"D:\130043674485690000.txt")); 
deserializedObject = ina.readObject(); 
ina.close(); 

回答

0

首先:您应该使用当前版本的IKVM用于新项目。文件名显示您使用的是旧版本的IKVM。

其次:您需要使用IKVM中的所有dll。如果一切正常,那么你可以删除一些未使用的dll。

第三:如果你真的静态引用你的dll/jar文件的类,那么你需要动态加载它。详情请参阅wiki