【问题标题】:System.BadImageFormatException: Could not load file or assembly- Exception only on hosting server?System.BadImageFormatException:无法加载文件或程序集 - 仅在托管服务器上出现异常?
【发布时间】:2015-11-01 09:36:43
【问题描述】:

我用谷歌搜索了这个例外,发现了几个很好的链接,并尝试了任何建议。但还是同样的问题。

即使在我的本地服务器上部署后,我也没有在我的任何本地服务器上获取此异常没有此类问题。

但是当我将站点移动到托管服务器时,它第一次加载时没有错误,但是一旦我按 ctrl+f5 就会开始出现此异常。

http://prnt.sc/8x4bm7 这个例外我只在远程/托管服务器上得到。在我当地没有这样的例外。

Could not load file or assembly 'file:///C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\ asp.net vs2010

根据上面的链接,我尝试了这个..但似乎没有解决问题。
我正在为此而努力

我正在使用 ASP.Net4.5 MVC

【问题讨论】:

  • BadImageFormatException 通常是 x64/x32 问题stackoverflow.com/questions/15917204/…
  • @DmitryDovgopoly.. 我之前阅读了该链接并检查了所有构建设置仍然存在问题
  • 你能验证你的 IIS 进程在那个远程服务器上是 x64 吗?
  • @DmitryDovgopoly...我开始收到此错误..

标签: c# asp.net asp.net-mvc exception


【解决方案1】:

正如@DimitryDovgopoly 所说,这是一个位数问题。

当您将更改推送到远程服务器时,应用程序池会回收。

如果您的 64 位应用程序是第一个加载到该进程中的,则加载 64 位版本的程序集。

如果 32 位应用程序首先加载到同一个应用程序池中,它将加载 32 位版本的程序集。

其中任何一种情况都可能导致其他应用程序出现 BadImageFormat 异常。如果您认为您可能已经为您的应用程序修复了它,那么您可能已经为共享同一应用程序池的另一个应用程序破坏了它。

确保没有两个具有不同位数(32 或 64)的应用共享同一个应用池。如果您有一个 64 位的应用程序,请考虑关闭对该池的 32 位支持(Enable32Bit = false)。

【讨论】:

  • 杰克,谢谢.. 但你能告诉我我如何交叉检查托管服务器上的这个位数和(Enable32Bit = false)我所有共享同一个池的应用程序
  • 我不知道您的托管服务器有什么可用的,但是在使用 IIS 管理器的 Windows 服务器上,您可以查看应用程序池。对于每个应用程序池,您可以右键单击并查看该池中正在运行的应用程序,以查看是否存在不应混合的应用程序。如果有一些不应该混合,那么您将必须创建一个新的应用程序池(窗口右侧的第一个选项)并将您的应用程序移动到它。
  • 要检查池的属性,您可以右键单击池并选择高级设置。在这里您可以禁用 32 位应用程序支持和更改框架版本等。
  • Jack..thanks... 但糟糕的是我无法访问 IIS,因为我的站点位于共享服务器上。但会与托管服务提供商的管理团队核实以执行此操作。 ..
【解决方案2】:

奇怪,但这解决了我的错误..

我正在使用 EF 配置文件来分析 ef 查询..我引用了 Hibernate.Rhinoes.dll,我只是想从我的解决方案中删除这个引用。

当我删除、重建和部署时,它解决了我的问题。

【讨论】:

    【解决方案3】:

    我认为这个错误是由于托管服务器中的不同框架版本造成的。 请检查框架版本。

    【讨论】:

    • @Donald..这可能是原因然后其他子域也应该反映相同..但是其他子域正在按需要工作..即使我进行了一些更改并将站点移动到托管服务器它第一次加载很好,但如果我重新加载页面,它开始给出这个异常..
    • 您确定此应用的 IIS 应用程序池使用正确的框架吗?
    • 但是,尝试将平台编译更改为X86并重新构建,您应该会得到相同的错误。
    猜你喜欢
    • 2015-02-01
    • 2019-02-11
    • 1970-01-01
    • 2022-09-30
    • 1970-01-01
    • 2011-07-10
    • 2016-10-07
    • 1970-01-01
    • 2010-09-24
    相关资源
    最近更新 更多