当前位置:编程学习 > C#/ASP.NET >>

100积分求解决:ASP.NET调用delphi的dll,在IIS7中无法运行!

1.用delphi6写了一个dll,asp.net中用DllImport调用,在winxp+IIS5中用正常运行;
2.将相同的asp.net程序部署到win7+iis7中,调用dll中方法时,就没反应了,一直处于等待状态;随后用.net开发了winform加载该dll,在win7上正常运行;所以怀疑是不是IIS7运行delphi的DLL是不是有什么设置?

请各位大侠帮忙,万分感谢! --------------------编程问答-------------------- win7应该是64位的系统,你的dll可能是32位的,不兼容而无法调用. --------------------编程问答-------------------- 在WIN7使用DELPHI重新编译下DLL看看 --------------------编程问答-------------------- 如果dll是32位的,在IIS7下的application pool中有enable 32bit的选项,设置成yes. 

另外DLLImport如果使用相对路径的话,可能会有点问题,asp.net的当前路径是C:\windows下的一个什么目录。

可以把dll所在目录加入到环境变量path中 --------------------编程问答-------------------- regsvr32 注册下 --------------------编程问答--------------------
引用 1 楼 hdhai9451 的回复:
win7应该是64位的系统,你的dll可能是32位的,不兼容而无法调用.



win7也是32位的,我真的机器装了winxp和win7双系统,在winxp上正常使用的。 --------------------编程问答--------------------
引用 2 楼 ejason 的回复:
在WIN7使用DELPHI重新编译下DLL看看



在win7下用delphi 2010重新编译了,问题依旧。 --------------------编程问答-------------------- 有没有知道的啊? --------------------编程问答-------------------- 不报错?

一般都是权限引起的问题 --------------------编程问答-------------------- 没有权限,或找不到dll --------------------编程问答--------------------
引用 3 楼 findcaiyzh 的回复:
如果dll是32位的,在IIS7下的application pool中有enable 32bit的选项,设置成yes. 

另外DLLImport如果使用相对路径的话,可能会有点问题,asp.net的当前路径是C:\windows下的一个什么目录。

可以把dll所在目录加入到环境变量path中


+1
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,