【问题标题】:BadImageFormatException Could not load file or assembly ... An attempt was made to load a program with an incorrect formatBadImageFormatException 无法加载文件或程序集...试图加载格式不正确的程序
【发布时间】:2021-11-11 20:19:29
【问题描述】:

我有 .NET 5 项目,其中包括 C++/CLI DLL,其中包括 C++ DLL,其中包括 opencascade DLL。所有这些项目都是为 x64 平台构建的。我已将此解决方案发布到我的本地文件夹,然后设置 IIS 服务器一切正常。但是当我尝试将我的项目上传到两个不同的主机(https://www.smarterasp.net/ 和 azure)时,我遇到了这个错误。项目在开始使用 C++/CLI dll(使用命名空间 C++/CLI)时崩溃。我还在 azure 门户中设置了 x64 平台。

我将不胜感激。

【问题讨论】:

  • 此错误的一个可能原因是缺少 DLL。要检查,请运行您的应用程序。得到错误。转到 Windows 事件查看器(开始菜单并键入“事件”)。在 EventViewer 中,在 Windows 日志 >> 应用程序下,您可能会看到有关失败的错误消息。如果错误是缺少 DLL,它通常也会告诉您 DLL 的名称
  • 感谢@Joe 的回答,非常感谢,但没有帮助。我已经通过将我的项目移动到另一个环境来解决我的问题。
  • 嗨@ArtemMishenkov,我们正面临这个问题。您能否澄清“将我的项目移至另一个环境”的含义?
  • 嗨@Anthony,我已经在我的本地机器上设置了一个服务器,因为我没有收到任何错误。但这是一个临时解决方案。现在我正在尝试用 P/Invoke 替换 C++/CLI,但仍然没有成功。
  • 嗨@Anthony,我已经解决了这个问题。看来我的项目缺少一些系统 DLL(kernel32、kernelbase 等),所以我已将它们添加到项目中并且工作正常。

标签: c# c++ azure command-line-interface opencascade


【解决方案1】:

谢谢Joe。发布您的建议作为帮助其他社区成员的答案。

项目因缺少DLL 而崩溃。运行应用程序并得到错误。

转到Windows Event Viewer(开始菜单并键入“事件”)。在 EventViewer 中的Windows Logs >> Application 下,您可能会看到有关失败的错误消息。如果错误是缺少 DLL,它通常还会告诉您 DLL 的名称。

您可以参考Could not load file or assembly ... An attempt was made to load a program with an incorrect format (System.BadImageFormatException)Troubleshooting BadImageFormatExceptionSystem.BadImageFormatException An attempt was made to load a program with an incorrect format

【讨论】:

    猜你喜欢
    • 2017-09-22
    • 2012-07-07
    • 1970-01-01
    • 1970-01-01
    • 2010-12-11
    • 2013-02-27
    • 2013-03-13
    相关资源
    最近更新 更多