在c#中使用Java类时发现类未找到异常

时间:2013-03-03 12:20:51

标签: java .net deserialization classnotfoundexception ikvm

我使用 java's class dll 转换为 IKVM ,方法是 jar file 为此课程,然后我使用 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();

1 个答案:

答案 0 :(得分:0)

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

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

第三:如果您确实静态引用了dll / jar文件的类,那么您需要动态加载它。有关详细信息,请参阅wiki