BadImageFormatException 0x8007000B仅在Windows Server 2012 R2上

时间:2019-04-16 17:40:13

标签: iis windows-server-2012

我有一个包含32位DLL的ASP.NET 3.5应用程序。它在Windows XP,7和10上运行良好(并且已经运行了好几年)。我添加了对Windows 2012、2012 R2和2016的支持。它在2016上运行,但在2012 R2上不运行。

在第一次调用DLL时,发生以下错误:

  

BadImageFormatException:尝试使用以下命令加载程序   格式错误。 (HRESULT的异常:0x8007000B)

对所有经过测试的OS使用相同的构建和安装脚本。每个OS都在同一台计算机上的VM上,因此所有OS的硬件都是相同的。对于每个操作系统:

  • 操作系统已完全更新。
  • vcredist 9.0(x86)是安装过程的一部分。
  • IIS DefaulatAppPool启用了32位应用程序。

我已经尝试过针对该问题的帖子中的所有建议,但没有任何效果。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

在任务管理器中再次检查您的应用程序的W3WP.exe进程正在运行32位,并且实际上是默认应用程序池正在尝试加载DLL。此错误消息几乎可以肯定意味着64位进程试图加载32位DLL。