我有一对aspnet C#应用程序调用非托管dll(用Delphi编写)。应用程序安装在IIS上。当两个应用程序中的任何一个尝试调用非托管dll时,报告以下错误(在两种情况下都出现相同的错误):
“无法加载DLL'ldName.dll':动态链接库(DLL)初始化例程失败。(HRESULT异常:0x8007045A)”
以下是有关应用程序的一些详细信息:
- 只是要清楚:Web应用程序是完全独立的:每个都在iis服务器上单独安装,每个都有自己的非托管dll副本。
- 使用microsoft web安装项目在iis上安装应用程序。
- VS版本:VS2015
- 仅在Windows 10 / iis 10
时出现错误
- 使用dotnet v4.0用C#编写的aspnet应用程序
- 一个应用程序是用aspnet webforms框架编写的,另一个是用aspnet MVC4框架编写的。
- 应用程序已使用'any cpu'选项编译
- 非托管dll是使用32位Delphi编译器编译的
- 这些应用程序在其他Windows版本上正常运行(经过验证的ws2008,ws2012,win7,win8,ws2003,winvista)
- 两个应用程序在调用非托管DLL时都会抛出相同的错误。
- 用于运行应用程序的应用程序池启用了“启用32位应用程序”选项(这是必需的,因为使用32位编译器编译的非托管dll)
- 已经尝试在Visual Studio中使用'x86'选项编译应用程序。仍然有错误。
有关如何调试此问题或可能的解决方案的任何想法?谢谢!