C#dll引用产生一个classnotfound异常

时间:2011-07-29 17:06:57

标签: c# java dll noclassdeffounderror ikvm

我使用IKVM将slf4j转换为dll,以便在c#程序中使用。它给我一个例外。 (NoClassDefFoundError未处理org.slf4j.LoggerFactory)

代码如下

acceptor = new SocketAcceptor();
connectionHandler = new ConnectionHandler();
serverlistenerPort = 32156;
SocketAcceptorConfig sac = new SocketAcceptorConfig();
sac.getSessionConfig().setTcpNoDelay(false);
sac.setReuseAddress(true);
sac.setBacklog(100);

//The following line is what seems to hate me.
acceptor.bind(new InetSocketAddress(serverlistenerPort), connectionHandler, sac);

Connection Handler是我的一个类,它覆盖了IoHandler(一个mina类)我已经三次检查我已经引用了所有IKVM dll,并且我在Google上搜索了所有可能的术语组合以获得解决方案,但是当所有解决方案适用于Java,他们只需要引用.jar文件。我确定我已经引用了所有.dll(这可以作为使用jar的java程序)

1 个答案:

答案 0 :(得分:0)

我有同样的问题。我用这个命令来编译dll:

ikvmc -sharedclassloader file1.jar ...... file8.jar

对于我读过的内容应该没问题,不应该吗?

然后使用它将dll放入全局缓存中:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\x64> gacutil -i "C:\ikvm-7.1.4532.2\bin\IKVM.OpenJDK.Core.dll"

和相同的命令来放置所有需要的部分库