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

Unable to load assembly error deploying x64 ASP.NET web application

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

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

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

System.BadImageFormatException

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

加载

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

并用

执行

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

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

谢谢。

错误和路径:

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

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

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

作为网络托管服务商,出于一系列遗留原因,我们也这样做。谈谈,看看他们是否会将其恢复为本机 64 位模式。