1 在强大的c#语言和java语言之间,二者难免会因为某些特殊的要求会相互调用。
下面就以java调用c#的dll为例做详细介绍
1 在vs中的环境设置如下图,图片中程序仅作为讲解程序,在项目编译成功的前提下,右键项目—》应用程序—》目标框架【选择如下图,根据机器的.netframework环境决定,一般用4】--》点开程序集信息—》勾选是程序集COM可见 复选框,然后再重新生成项目
2 准备已生成好的dll文件,其中主要类是lcjPlug_v01.dll,Newtonsoft.Json.dll是作为引用dll,
把二者放到相同的文件夹下,如下图
3 找到指定路径下的cmd.exe 以管理员身份运行
标号1: 进入到存储dll的盘符下
标号2:进入存储dll的文件下
标号3:找到如下路径【C:\Windows\Microsoft.NET\Framework64\v4.0.30319\】 在后跟regasm (需要注册的)dll文件 如下 dll分为32和64位之分,要根据电脑位数来选择相应的文件夹
C:\Windows\Microsoft.NET\Framework\v4.0.30319\regasm lcjPlug_v01.dll(32位)
C:\Windows\Microsoft.NET\Framework64\v4.0.30319\regasm lcjPlug_v01.dll(64位)
4 回车,等待结果,结果会显示注册成功
5 若注册过程中提示不是有效程序集
1 请检查dll的环境配置是否完好,.net framework是否选择的正确
2 注册时选择的Framewrok是否和当前注册的dll位数相匹配
3 Framework注册时是否和dll环境配置的.net framework保持一致,有版本有向下兼容性
4 如果要正常注册dll,regasm必须能够支持dll对应的Framework的版本。
5 确认jacob的版本和放置的位置