2 cangyue080180 cangyue080180 于 2016.03.07 14:36 提问

jni调用C#Dll,被调用DLL依赖的第三方DLL该放哪里?提示找不到

如题,我有一个第三方DLL文件,它本身也依赖其他一些第三方DLL库文件,我现在用java
通过Jacob的方式实现调用该DLL文件,总是提示找不到该DLL依赖的DLL文件,请问这些
依赖项该放哪里?或者怎么处理?

2个回答

caozhy
caozhy   Ds   Rxr 2016.03.07 15:15

一般来说,C# dll注册到gac,原生dll放在system32(x64系统是wow64)

cangyue080180
cangyue080180 我也尝试过这样去解决,我把依赖的所有dll都复制过去了,没有用。我本来想是不是这些依赖的dll也需要注册一下才行,然后我就去注册了,可是都注册不了 ,因为提示说:模块“xx.dll”已加载,但找不到入口点DllRegisterServer。请确保“xx.dll”为有效的DLL或OXC文件,然后重试。
2 年多之前 回复
cangyue080180
cangyue080180   2016.03.08 10:24

我也尝试过这样去解决,我把依赖的所有dll都复制过去了,没有用。我本来想是不是这些依赖的dll也需要注册一下才行,然后我就去注册了,可是都注册不了
,因为提示说:模块“xx.dll”已加载,但找不到入口点DllRegisterServer。请确保“xx.dll”为有效的DLL或OXC文件,然后重试。

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
使用JNI调用dll(C++)
使用JNI调用dll(C++)使用JNI调用dllC dll文件的位置 关于32位 OR 64位的dll 内存泄漏   简单说下业务背景,有一个用C++写的加密算法(据说速度快),需要用JAVA来调用,并将值展示在页面。这块内容网上一搜一大堆,给个别人写的教程,非常详细,照着做,可以实现一个DEMO,传送门。   但是,这仅仅只是一个DEMO,在实际应用中,应该怎么做。dll文件的位置  网上说法
Jni开发时,dll文件放置的路径处理方式
刚到新公司,就接到一个棘手的任务。想了很多办法,最后想使用Java COM桥来解决。JACOB是一个较成熟的开源项目,可以很方便的调用COM组件。搞过JNI的都知道,本地库要放到系统path中,这样,Java进程在运行中才能找到本地库并动态加载。我们可以通过环境变量System.getProperty("java.library.path")来查看当前JVM搜索本地库的路径。这时,就会遇到一个
JNI调用C#的dll
解决问题的思路 JNI不能直接调用C#的dll,原因是C#没有导出函数,C#的本地方法不能被java加载 可以使用C++做一个桥接,通过C++将C#的dll封装,java再调用C++的dll,即 :java →C++ wrapper → C# 遇到的问题及解决方案 网上有很多这方面的教程,但是中间有很多坑,没有讲明白,会导致很多错误。 jni public class TestJN
Eclipse中java工程中引用dll库的路径设置 && System.loadLibrary()调用Dll路径问题
当使用System.loadLibrary()调用C++ Dll 时要确定dll的路径,我试了两种方法都可以实现。 1.设定环境变量。 比如:所编辑的Dll在目录“D:\cppProjects\nativecode\release”内,就可以将这个路径复制下来,添加到电脑的环
JAVA通过JNI调用C#dll方法说明(包含示例)
Java调用C#的dll是通过C++作为桥梁,JNI—>C++的dll(clr方式运行)—>C#的dll   以下为本次测试的配置环境:                    系统:win7  64位                    Java开发环境(均为64位):JDK1.8、eclipse                    C++开发环境:VS2015  整个工程的连接:
JAVA通过JNI调用C#dll的整个项目工程
本资源包括JAVA工程,C++工程,C#dll测试工程
关于C#引用Dll后,找不到命名空间的问题
1.按正常操作新建了类库,生成abc.dll 2.在项目中引用abc.dll并using abc; 3.错误提示没有using 命名空间 解决方法:后面才发现是新建类库的net为默认的4.5 project的net被改成了4.0.导致二者不兼容。最后设置称同一个版本就可以了。
java调用.net(c#) dll(利用jacob)
准备jdk:32位的 jacob.jar和jacob.dll(32位的) (64位的我没做成功。)常用命令: 注册:regasm xxx.dll 注销:regasm /u xxx.dll资源下载jacob.jar注:java工程导入jacob.jar包,将jacob.dll(32位的)复制到%JAVAHOME%\bin目录下。代码第一步:c# 代码:using System; using
JAVA如何调用dll:用JNI调用C或C++动态联接库原来如此简单
JAVA如何调用dll:用JNI调用C或C++动态联接库原来如此简单
Java 调用 C# DLL
Java无法直接调用C# dll,需要通过经过桥接的方式,进行中继转发一下请求。查阅大量资料,做了大量实验,不停的调试、排错之后,期间试过jni4net,不过这个插件需要修改原有的C# DLL内容,还会生成一些额外的Java代码,jni4net侵入性太多,将它排除。最后通过管理性的C++桥接方式,成功完成了Java调用C# DLL。 国内很多文章都是只有文章,没有在文中附上完整的代码工程,导