IKVM将Java转换为C#可以调用的dll程序集,使用方法:切换到IKVM的bin目录 ikvmc -target:javaCode.jar 生成:javaCode.dll
C#引用javaCode.dll IKVM.OpenJDK.Core.dll IKVM.Runtime.dll IKVM.Runtime.JNI.dll (后三个就在IKVM 目录下);
引用命名空间(就是java类的包名)调用即可以;没有调用第三方jar包的;c#可以调用成功;
这就是百度云推送的java sdk的工程目录 标出的是我写的方便调用的类和方法
用百度云推送的java后台SDK写了个简单的推送程序,想在.net环境下运行,不太想用调用tomcat服务的方式,看到了IKVM可以将java的jar包转为直接C#可以运行的dll库,自己写的测试代码(没有第三方jar包情况下) 转换为dll后在C#可以运行,但是百度云推送 引用了好多jar包:bccs-api-3.0.1.jar commons-beanutils-1.9.2.jar ezmorph-1.0.6.jar等等;把百度提供的代码包和自己编写的代码包转为jar包 再转为-dll 后,.net运行就出错了,这种多指向的转换快把我弄疯了
转换报错,一大溜错误信息:
的情况下.net运行,异常信息:
未处理 System.InvalidCastException
Message=无法将类型为“java.util.PropertyResourceBundle”的对象强制转换为类型“sun.util.resources.OpenListResourceBundle”。