错误应用程序w3wp.exe

Seb*_*aan 9 asp.net iis-7 windows-server-2008

我有一个用ASP.NET编写的应用程序,它使用DllImport引用用Delphi编写的dll.在我的Windows 7开发机器上使用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.
Run Code Online (Sandbox Code Playgroud)

如何解决这个问题或如何找到更深层的原因?

The*_*ing 3

只是一种预感,但您可以尝试启用 32 位工作进程。它比 64 位更兼容,可能会有所帮助。你的本地服务器是32位的吗?

 %windir%\system32\inetsrv\appcmd set config -section:applicationPools -applicationPoolDefaults.enable32BitAppOnWin64:true
Run Code Online (Sandbox Code Playgroud)

如果失败,这可能有助于调试问题。

解决 ntdll.dll 模块故障导致的 IIS7 工作线程崩溃 (w3wp.exe)

这里还有一个线程有相同的问题。他们建议添加参考来kernel32.dll解决该问题。

在 IIS7 中从 ASP.NET 调用非托管代码

更新

有些人报告说复制依赖项可以Windows\System32\Inetsrv解决问题。值得一试。