我有一对aspnet C#应用程序,它们调用一个非托管的dll(用Delphi编写)。这些应用程序安装在IIS上。当两个应用程序中的任何一个尝试调用非托管dll时,都会报告以下错误(在两种情况下均为相同的错误):
“无法加载DLL'dllName.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'选项编译应用程序。仍然出现错误。
关于如何调试此问题或可能的解决方案的任何想法?谢谢!