1、首先你需要到 IKVM官网 下载IKVM。http://sourceforge.net/projects/ikvm/files/需要注意的是如果你用的是.net framework2.0,那么最新版本的IKVM就不能用,你能用的是0.38.0.2版本的

      配置环境变量:右击“计算机”,选择“属性”,进入“高级系统设置”,“高级”-->“环境变量”,在path中添加“;D:\Program Files\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5\bin”,其中第一个“;”可选,后面“D:\Program Files\ikvmbin-7.2.4630.5\ikvm-7.2.4630.5”为你的IKVM的路径。
      测试:通过“CMD”,输入"ikvmc",Enter以下可以看到好多提示信息。
把Java代码转成c#可用的dll
2、其次你要编写一个简单的java程序,网上最流行的一个例子:
package com.zht;
//要调用的Java类 
public class Test {
   //要调用的Java方法 
    public String returnString() {
        return "Hello, zht!";
    }
}
3、你要把java程序打包成jar文件
选中该项目,右击,选中“O(导出/Export)”,选择“java”-->"JAR 文件",下一步之后,选择你要打包的类文件(或包),选择“导出生成的类文件和资源”,下一步 再 下一步 ,确定。
把Java代码转成c#可用的dll

把Java代码转成c#可用的dll

把Java代码转成c#可用的dll

4、你要用ikvm把jar文件编译成dll文件
      CMD之后,输入“ikvmc -out:E:\hello.dll E:\hello.jar”,ikvmc是命令,-out:后面接输出的DLL文件,空格之后接 jar文件。
把Java代码转成c#可用的dll
5、在C#中调用DLL文件
      新建C#工程(可以是控制台程序,也可以是WinForm程序),添加引用:
1)hello.dll  (你刚刚生成的DLL文件)
2)IKVM.OpenJDK.Core.dll ; IKVM.Runtime.dll ; IKVM.Runtime.JNI.dll  (这三个是基本的DLL文件,其它DLL文件视情况添加)
把Java代码转成c#可用的dll

    通过using com.zht;导入该命名空间。可以新建Test类,以及使用该类的方法returnString();
     代码如下:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using com.zht;
namespace DllTest
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine((new Test()).returnString());
            Console.ReadKey();
        }
    }
}
     运行结果如下图:
把Java代码转成c#可用的dll

相关文章:

  • 2021-07-20
  • 2022-01-09
  • 2022-12-23
  • 2021-09-17
  • 2021-12-26
  • 2022-12-23
  • 2021-11-15
  • 2021-12-30
猜你喜欢
  • 2021-04-29
  • 2021-06-28
  • 2021-08-04
  • 2022-03-03
  • 2021-06-22
  • 2022-03-07
  • 2022-02-01
相关资源
相似解决方案