我有一个用ASP.NET编写的应用程序,它使用DllImport引用用Delphi编写的dll。在我的Windows7dev机器上,使用asp.net开发服务器访问ddl就像预期的那样工作。
但是,在运行IIS 7的Windows Server 2008生产服务器上,dll返回错误“找不到”,以下错误弹出到应用程序日志中:
Faulting application w3wp.exe, version 7.0.6002.18005, time stamp 0x49e023cf, faulting
module ntdll.dll, version 6.0.6002.18005, time stamp 0x49e03821, exception code
0xc0000374, fault offset 0x000afaf8, process id 0xab8, application start time
0x01cc6947b1bb081b.如何解决这一问题,或者如何找到更深层次的原因?
发布于 2011-09-05 17:35:15
只是预感,但你可以试试启用32位工作进程。它更兼容64位,也许会有所帮助。本地服务器是32位吗?
%windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true如果失败,这可能有助于调试该问题。
用IIS7的故障处理模块对w3wp.exe进行故障排除
这里还有一个同样的问题。他们建议增加对kernel32.dll的引用可以解决这个问题。
从ASP.NET在IIS7中调用非托管代码
更新
有些人报告说,将依赖项复制到Windows\System32\Inetsrv解决了这个问题。值得一试。
https://stackoverflow.com/questions/7280908
复制相似问题