我将 weka 用于 C#,并尝试使用 IKVM 将 weka.jar 移植到 c#-dll 中。该教程可以在这里找到。
现在,这是我在bin
C# 程序目录中得到的内容:
weka.dll -- 由 IKVM 生成
IKVM.OpenJDK.Core.dll——来自 IKVM 库
JVM.dll——来自 IKVM 库
并且 java/bin 在我的 PATH 变量中。
但是程序在
weka.core.Instances insts = new weka.core.Instances(new java.io.FileReader("iris.arff"));
并且错误是在初始化 java.io.File
我认为这是因为 C#/bin 中缺少一些 dll
我可以通过将与 IKVM 和 Java 相关的每个 dll 复制到 C#/bin 目录中来解决它。然而它是如此丑陋。
现在我的问题来了:Java ==IKVM==> C#
程序确实需要哪些运行时库?
更新
我将所有相关的内容都复制到了 C#/bin 中,并且成功了。
但请相信我,我不想这样做。