Java如何调用C#写的".dll"类库

需求:游戏客户端服务端要共用一套属性系统,但是服务端是用Java编写,客户端是C#编写。属性系统是在客户端由C#生成的dll类库,服务端要想使用,就需要Java调用该C#生成的dll类库。

但是:java 并不能直接调用 C# 的 dll,步骤如下:

1. 下载jni4net最新版(我的为jni4net-0.8.8.0-bin.zip)

2. 配置环境变量:

a.  配置JAVA_HOME​,并将“%JAVA_HOME%\bin”加入Path

b. 将“C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe​”加入Path,ProxyGen.exe执行时会用到

3. ​运行generateProxies.cmd

​a. 首先用NotePad++打开,在该文件最后一行加上"pause",以便于调试,如下:

​​​​

b. ​双击执行该文件,你会发现:

解决A错误:将"你的本地路径\jni4net-0.8.8.0-bin\lib\jni4net.n-0.8.8.0.dll"文件,右键单击-属性-解除锁定。再次双击执行generateProxies.cmd,如果还报如上错误,则将相应路径下的dll文件,做同样操作即可。

4. 运行run.cmd

最后生成了许多文件,其中以下6个文件是Java工程编译所必须的,仅仅1个文件MyCSharpDemoCalc.dll 是Unity工程编译所必须的:

以上6个文件必须放在同一个文件夹中,其中前三个文件(jni4net开头)为插件包,后三个文件则是我们的C#代码包  

参考链接如下:​

http://jni4net.com/

http://xiaqianlin.cn/?p=490​

https://github.com/jni4net/jni4net​

​http://www.codepool.biz/ocr-barcode-twain/twain-sdk/java-twain-with-dynamic-net-twain-and-jni4net.html

此外还有一种方式:

http://dev.mainsoft.com/Default.aspx?tabid=130 该网站上的 Grasshopper 理论上可以起到把 c# 转为 java 的效果。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值