无法加载部署x64 ASP.NET Web应用程序的程序集错误

时间:2015-02-02 21:52:22

标签: c# asp.net iis 64-bit badimageformatexception

我开发了一个仅包含通用http处理程序的ASP.NET Web应用程序。 我开始使用IISExpress在本地测试的x86开发机器上,然后部署在带有IIS6.0的32位Windows 2003 Server上,一切顺利。

我的公司决定更新到x64环境,以便利用针对64位环境优化的一些第三方库,因此我们切换到64位Windows Server 2012 R2标准版,但我有一些的烦恼。

在我的本地计算机上,现在切换到x64 dev计算机,平台目标设置为x64一切顺利,但在服务器上部署时我总是得到

  

System.BadImageFormatException

在主装配上。错误消息的其他部分表示程序集管理器由

加载
  

C:\的Windows \ Microsoft.NET \框架\ v4.0.30319 \ clr.dll

并以

执行
  

C:\的Windows \ Syswow64资料\ INETSRV \ w3wp.exe的

由于SysWOW64需要在64位环境中运行32位应用程序,因此生产计算机上的IIS服务器可能无法运行x64 Web应用程序? 如果是这样,我应该怎么做才能克服这个问题,因为我知道我无法直接访问服务器。

谢谢。

1 个答案:

答案 0 :(得分:1)

错误和路径:

C:\Windows\SysWOW64\inetsrv\w3wp.exe

C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll

...绝对证明您正在部署的生产服务器正在以32位模式运行其网站应用程序池,或者无论如何都是您的。

作为一个网络托管商,我们也会因为一系列遗留原因而这样做。有一个单词,看看他们是否会将其翻转回本机64位模式。