首页 新闻 搜索 专区 学院

asp.net 调用第三方非托管DLL 出错?

0
悬赏园豆:80 [已解决问题] 解决于 2013-09-23 14:00
zhangkang的主页 zhangkang | 初学一级 | 园豆:16
提问于:2011-04-22 12:26
< >
分享
最佳答案
0

建议的几个方法:

1、.net System.Security.Cryptography.MD5这个类可以实现

2、如果必须使用这个库,先用WinForm或Console测试这个库试试(毕竟这个的安全限制比asp.net少),Depends.exe看看这个库依赖MFC或atl等那些库,最好把相关的安装发行包安装一下,这个正常后再试asp

3、asp.net如果是web project形式的解决方案,一般放在bin目录下就行,如果是website的方案,可能需要放到windows目录,如果只是在asp.net不正常,可能是安全问题,把涉及到的相关资源对asp.net账号开放即可

收获园豆:50
2012 | 高人七级 |园豆:21040 | 2011-04-22 16:33
其他回答(2)
0

用Depends.exe看下你的非托管DLL都须要哪些dll,同时确认下导出函数名是否一致。

收获园豆:15
Launcher | 园豆:45045 (高人七级) | 2011-04-22 12:58
非托管需要的都是一些System32 下已存在的DLL ,函数名也是一致的
支持(0) 反对(0) zhangkang | 园豆:16 (初学一级) | 2011-04-22 14:13
我将该非托管DLL 需要的一些其它DLL 还拷贝了一份到项目的bin目录下,最后在ASP.NET 里调用提示 调用的目标发生了异常
支持(0) 反对(0) zhangkang | 园豆:16 (初学一级) | 2011-04-22 14:16
@zhangkang:你可以先尝试以console程序的形式调用你的非托管DLL,CharSet.Ansi。
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2011-04-22 14:46
@zhangkang:GetMD5的返回值类型,传入参数类型是否匹配?CallingConvention是否匹配?
支持(0) 反对(0) Launcher | 园豆:45045 (高人七级) | 2011-04-22 14:49
出入ref string 类型 ,方法返回值为long ,在调用时和DLL 里保持一致的
支持(0) 反对(0) zhangkang | 园豆:16 (初学一级) | 2011-04-22 15:43
0

如果你的功能需求只是MD5加密,是否可以考虑换个思路?

收获园豆:15
邀月 | 园豆:25375 (高人七级) | 2011-04-22 15:30
必须使用这个MD5 加密 ,否则核心功能实现不了
支持(0) 反对(0) zhangkang | 园豆:16 (初学一级) | 2011-04-25 11:46
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册